Recovering memory [when exiting a frame]

I am working on a project that utilizes a number of movieclips and bitmaps that have been added from the library using the GUI to set up the objects on the stage. This is all fine, but as the project has grown I’m running into (what seems to be) a memory limit, i.e. problems only start when the memory usage creeps past a certain point. It seems that the logical thing to do is to deallocate the memory that has been taken up when the movieclip or graphic has been loaded. Unfortunately, I can’t seem to free up memory even in a simple test case in which I add only one movieclip and then attempt to remove it using removeChild, removing the one event listener associated with it, and setting the mc = null. I have read that the garbage collector isn’t guaranteed to ever run, so maybe I’m not seeing a memory drop because there is plenty of memory available for my test case, or is it that I haven’t actually removed all the references to the movieclip?

Here is how I’m trying to implement this:

fizz_mc.addEventListener(MouseEvent.CLICK, goto1, false, 0, true);
function goto1(e:Event){

 fizz_mc.removeEventListener(MouseEvent.CLICK, goto1);
 removeChild(fizz_mc);
 fizz_mc=null;
 MovieClip(root).gotoAndPlay(1);

}

If this actually works, it would be fine, but my initial instinct was to write something that detected whenever a frame is left and then remove all the children from the stage at that time. Since there is no exit frame event I couldn’t come up with a way of easily implementing that either. And even if I could detect that event this test above suggests that simply removing the children might not be enough.

Any help would be appreciated.