My apologies, I interpreted "running out of space" as meaning running out of memory, rather than meaning overflowing the stack.
The tail recursion part isn't right though. If it isn't optimised into a loop, then tail recursion makes no difference at all, you will overflow the stack just as rapidly, not later. If it is optimised into a loop, then you will not overflow the stack at all.