Each time the evaluation of a function requires the nested evaluation of the same or another function, one recursion level is used up.
On most computers, each level of recursion uses a certain amount of stack space. $RecursionLimit allows you to control the amount of stack space that Mathematica can use from within Mathematica. On some computer systems, your whole Mathematica session may crash if you allow it to use more stack space than the computer system allows.
MemoryInUse and related functions do not count stack space.