Debugging memory corruption: who the hell writes "2" into my stack?