何だか妙な具合に改行されてしまった。
普通GCはオブジェクトの参照カウンタが0になったら勝手に働くので、
(吉里吉里のVMがどう働くのかは知らないけど、普通は、ね)
メモリ大量に食うから早く消して欲しいオブジェクトとか
メモリは食わないけど数が沢山あるオブジェクトなんかを invalidate すると○。

大本を invalidate するなり delete するなりすれば要素変数名も勝手に消えるので、
辞書配列なり配列なりの各要素に対して delete するのは超無意味。
辞書配列なり配列なりの各要素に対して invalidate したい場合は再帰を使うと○。

function recursiveInvalidate( obj ) {
/**/
/**/ if( typeof( obj ) != "Object" ) return;
/**/ else if( obj instanceof "Dictionary" ) recursiveInvalidate( ( new Array() ).assign( obj ) );
/**/ else if( obj instanceof "Array" ) {
/**//**/
/**//**/for( var i = 0 ; i < obj.count ; i++ ) recursiveInvalidate( obj[ i ] );
/**/ }
/**/ invalidate obj;
}
こんな感じかな。