UnloadTextures, and ResetPlatformData shouldn't be necessary, if you delete the sprite using it and Load a new level it should unload... Its hard to guess what is going on, different things happen at these stages depending on how everything is set up. I wouldn't use LoadResourceByName as well, unless you're willing to get your hands dirty - that is only officially supported for platform collections, what you're doing if used in conjunction with platform collections could do some nasty stuff...