Well do not laugh to loud, you can easily let your game run (if the game has a high framerate) and load every new object/images/etc. in a seperate thread. (You should have enough memory space left offcourse to have both states in memory)
If you create them on the heap and return the pointers to the main thread, just set the pointers to the new objects, then let the second thread delete all the old stuff. The time you need to replace stuff and reset the level or whatever takes almost no time so it will probebly not be noticed.
although it is almost impossible as soon as your game takes to much mem space or is just to advanced that the framerate is low, it is very well possible. I have tried this with my game in progress Raze and Elementals and in both cases it worked. With Elementals the game now takes up to much mem space and has a 60 fps so it does not work anymore but for a lot of not so heavy games released in the homebrew it can benefit the loading times! You can also show a movie while loading stuff.
so do not laugh to quick and let your imagination be your help !