It's probably staying in memory because of all the event listeners you're attaching to every single touchbox.
First of all, events bubble up the hierarchy, so you really only need to add listeners to the container, and check the target of the event to see which object was clicked.
Second of all, if you really want to add a listener to every object, at least make it a weak reference by calling "touchBox.addEventListener(MouseEvent.MOUSE_DOWN, onTouchBoxMouseDown, false, 0, true ); The last parameter "true" makes sure its a weak listener, so that once the object is removed from its parent and there are no other references, it will be freed from memory.