「安全」が誤解を招く言葉でしたら申し訳ありません。この状況でどの言葉を使用すればよいかわかりませんでした。たとえば、
public static List<myObj> myList = new List<myObj>();
C# では許容されます。静的変数は、アプリケーションのライフ サイクル全体を通して RAM に残ります。そのため、たとえば ASPX などのアプリケーションでは、これが望ましくない動作につながる可能性があり、GC は割り当てを収集しません。
静的なオブジェクトのリストがある場合、たとえば静的な「グローバル」クラスであることに気付きました。
globl.myList.add(foo);
その後、それらはアプリケーションの存続期間中残ります。これは、オブジェクトの静的リストがある場合、リストに追加されるオブジェクト自体が静的であることを意味しますか、それともそれらへの参照があるため、GC はそれらを収集しませんか? つまり、要素を削除した場合、GC は後でそれを収集しますか、それともアプリケーションが終了するまでヒープにスタックされますか?
お早めにどうぞ!