While fletch is correct in saying that all static objects will be destructed. auto objects (normally those created on the stack - not with new) will not necessarily be destructed. Therefore if you've allocated within these objects you may have a memory leak.
Static objects are automatically deleted, but doesn't the compiler clean up the stack as part of exit()? Hmmm...wait...the keyword there is compiler - not something that you can always rely on. Hence "will not necessarily be destructed." Don't you love it when you answer your own question?

I believe you will be better off avoiding exit() and finding a mechanism to allow your program to die naturally.
That is a fact.

fletch