Alright, I am trying to capture all the basic ways to exit a program and to deal with the unloading of all the important objects like Dx interfaces for example.

Is there a way to test if I missed any? Like get size at beginning and end or something.

Now, what if the game stalls, exception handle, a user terminates it with ctrl+alt+del...some sort of error which cause's instant termination...

Is there a way to deal with that? Like to make sure things unload, it is my idea that if some sort of unexpected termination occurs then memory leaks would follow.