You call m.top.removeChild() to remove it. So long as there are no references left, it will be garbage collected.
You can do this within 'onKeyEvent()' in the parent node to handle the "back" keypress.
Regarding if the removeChild()-ed node gets de-allocated, did you make sure there are no more variables pointing to it? Sometimes you'll have to do things like `myChildNode = invalid` right after calling .removeChild(myChildNode) to severe the last remaining link.