1. All functions use the stack. That is where the return address is pushed to / pulled from.
2. If anything corrupts memory then the debugger can go totally insane and report insane falsely untrue factual things which definitely may or may not be right.
Just letting you know :-)