GC can be a little tricky, but not sure if thats even the problem.
A couple pointers i would try.
First is ignore the click if its currently processing an element, or just disable the play button until its complete. It may be an issue of trying to clear the element and data before its done getting rolling and if there is some asynch processes in play it could be causing an issue. Also stop the video before removing and nulling if yo wait properly.
Listen for the events on the media player state details to determine when ready/initialized/playing before clearing.
Also why not reuse your media container? And why are you calling validateNow?
You can unload the load trait instead each time to ensure it's unloaded.
var loadTrait:LoadTrait = mediaElement.getTrait(MediaTraitType.LOAD) as LoadTrait;
Will unload the video file completely.
It does not work. This call is performed in OSMF internals when I set media property to null.
Best Regards, Aleksey
Having the same problem =/