Scitech の .Net Memory Profiler を使用して、アプリ (WinXP 64 で実行) の一部をチェックしています。アプリが使用するリストのライブ インスタンスが 1 つだけあり、常に 32 バイトで、配列として表示されるケースをよく見かけます (Product[] など)。
インスタンスをよく見ると、何からも参照されていないように見えます。[ルート パスに含まれるインスタンスのみを表示] チェックボックスをオンのままにすると、参照先リストが空になります。そのチェックボックスをオフにすると、次のみが表示されます。
Object[] #307[9126]
<GCHandle> #306 {Pinned}
割り当てコール スタックは次のようになります。
mscorlib!System.Collections.Generic.List<T>..cctor()
[Skipped frame(s)]
mscorlib!System.Collections.ObjectModel.Collection<T>..ctor()
MyApp.ProductsAdmin!MyApp.ProductsAdmin.ViewModels.ProductsAdminViewModel..ctor() ProductsAdminViewModel.cs
空のリストの構築で終わったようです。ルート パスにインスタンスが含まれておらず、すべてピン留めされているとはどういう意味ですか?