If it doesn't keep going up up up, it may not necessarily be a leak. You don't NEED to destroy data structures, sprites, buffers, whatever. It's only really a leak if your code makes them unworkable without destroying them. Simply not using it anymore isn't a leak -- it has to be "lost" to the program. You could make a data structure and bunch of sprites for every room and never destroy them, but also never go back to those rooms. That's not a memory leak because everything is still workable, they're just not being used. If you then send the player back to the main menu, let them start over, and don't verify the resources exist before creating them again, that's a memory leak and one you should not just shrug off because it's "not significant enough". It's not significant on your test runs, but you can't say with absolute certainty that no one else will run your program in such a way that it will become significant enough to crash. Treat all leaks as game-breaking, because someone will come along and break it. I've played GM games that I really liked until I broke them.