There is a common misconception about destroying objects. As I mention in my tutorial, you want to avoid the creation and destruction of objects during gameplay. Use pooling for efficient control over frame rates.
When changing scenes, Corona’s storyboard will handle all of the object destruction for you, assuming you use the methods in my guide (all custom listeners and objects should branch under the scene’s view).
The way my classes are set up, using “dispose” will pool the object (put it back on the shelf for later use). Hope that helps!