CollectGarbage();
setTimeout("CollectGarbage();", 1);
ここで setTimeout() を使用する理由は、現在のオブジェクトをすべて完全にリサイクルし、変数間の参照が発生するのを防ぐためです。リリースの失敗は、論理的に言えば、ここでは実装されません。
使用する場合は、すべての関数が実行された後に実行する必要があります。そうしないと、setTimeout()、setIntervalue() などが正しく動作しません。
また、一般に、最上位オブジェクト「var xxx='ss';xxx=null;」を空にすると、IE が最小化されたときにメモリを解放することができます。そのため、IE ウィンドウを開いたままにしておくと、再度開いたときに IE の動作が遅くなります。