Separate stack still uses memory, you need to prove the bounds.
I agree that the call stack limit is much more important in environments with tight memory but the rule is about the stack limit, not memory in general.
Edit: for 2. I obviously mean recursion as the class of algorithms, not as the property of the functions used to implement it.