Worth noting that there is a call stack depth limit that’s in place to prevent infinite loops (see What does it mean when I run into a "Excessive logic block call depth." error?).
Recursion is definitely allowed, but if you have a scenario where you would perform it too many times in a row, you’ll get that error. In such cases, there are always different ways to architect a solution that will prevent the call stack from getting too deep.
7 Likes