This is dead on correct - however you should note that REPEATEDLY deleting and creating objects - over the LIFE of your application will eventually rear the head of what some of refer to as the "Delete Plague" common in all the TGC programming languages (and this DarkGDK lib). Also having a ton of objects - even Excluded ones - eventually causes a speed loss that once you hit this "unknown" ceiling has a exponential trend to only get worse as your application adds more objects.
Solution? I don't have one but for my game - the PLAN is to make it so there is a MENU "Program" that Handles what level your on etc...(The Launcher) and that Launcher Would invoke the game - One level at a time.
Launcher Creates a File that the Game will read to know what level to load, stats, etc. Then Launch Game
Game Will Load this file - and then act accordingly to get all set for the player to play.... Upon successful Completion - the game will create a file for the launcher to read - like "Level Complete" and stats - any other important info.. Then Game Will Launch the Launcher.
The goal being to thwart the problems that arise when there is TOO MUCH creation deleting going on - as well be sure this system I just described only has ONE EXE running at a time... They would Alternate... Each Starting the other before Terminating.