Errors about a “recursion limit” may mean you’ve tried to define a variable in terms of itself. This is an egregious example of the problem, but it can happen in subtler ways too.

x = x + 1

To plot functions of 2 variables, use Plot3D:

Plot3D[ r^2 + 3h, {r,0,5}, {h,0,5} ]