If you're using the stack also to store return addresses, etc., then what you're describing is very much possible. On my Motorola 68HCS12 this is precisely what happens, and it mostly goes back to 0 only to reset and freeze.
If you're not using it to store return addresses, really they should just be overwriting each other -- which isn't good, but shouldn't cause it to crash. Of course, if you get to the point where you're starting to address negative memory locations, THEN you're going to have a problem (in all honesty, they should be treated unsigned if I remember correctly, so you'll just be accessing memory that's not really there).
EDIT: But I just realized that's not the OP
So, OP, what exactly are you doing that could cause you to run out of memory? That's quite a bit of processing to do on a RISC microcontroller.