GCとかメモリリークとかレキシカルスコープじゃないとか

変数のスコープがレキシカルスコープじゃないから
名前空間から居なくならない限り、変数の参照は生きている
だから、GCの対象にもならない

class Hoge {};
while(True)
{
    new Hoge;
}

これは大丈夫だけれど

class Hoge {};
$i=1; while ($i++)
{
   $$i = new Hoge;
}

これだとダメ。当たり前と言えば
辺り前だけれどもwhileのブレスで変数の参照
が切れない言語ではメモリリークするって
そんなの普通書かないけれどもさ

レキシカルスコープな言語から
来るとちょいと違和感を感じるネ

ちなみに

class Hoge {};
while (True)
{
   $i = new Hoge;
}

だとメモリリークはしない
っと行っても、$iの変数を Hogeインスタンス
上書いているだけだけれども

その上書く際に以前のインスタンスの参照は無くなるから
問題は無いはず

ココラヘンは、Zendエンジンとかのソース読めば
早いだろうネ!