I had the fun of finding the source of a heap corruption! It crashed when I reloaded the test level from the menu the second or third time. I have little(no) experience with heap corruptions, so I thought this was because I deallocated the level improperly. I checked everything well, and decided to blame my physics library, because it was a physics class being allocated with it's own custom allocator. When that leads to no answers, I desperately comment out everything and begin adding parts of code back to the build. The offending code seemed to be the Entity creation. I naturally search my Entity code, not knowing what to look for.
Finally I research a little about heap corruptions, and stumble upon _CrtSetDbgFlag() and other magical heap debugging functions. They directed me to where I allocate a GUI class in the game object. This is NOWHERE NEAR the intial crash in any way. The source of the problem turned out to be the misuse of my own GUI class. I have GUI elements, panels, and systems. Elements are managed by panels, that are managed by a system. I attempted to add a Panel subclass into the GUI system explicitly, which somehow corrupted the heap. I still don't know exactly why this happened, so its a little unnerving. In the end I used a separate GUI system for the special Panel with no problems. I think I'm going to experiment to see if I can find out the cause.