メモリ リークがある問題をデバッグしています。オブジェクトを破棄して逆参照する必要があることがわかっているコードの時点で、sos を使用してメモリ プロファイルを調査しました。Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPUshMessageLoop() からのルートがあることがわかりました
そして、sosから示されているように:
010ced70 6edcee21 System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
ebx: (interior)
-> 03ff3330 System.Object[]
-> 0300cbf0 System.Collections.Generic.HashSet`1[[System.Object, mscorlib]]
-> 1929b008 System.Collections.Generic.HashSet`1+Slot[[System.Object, mscorlib]][]
-> 18f3d384 OurCompany.Components.ApplicationWorkflow.WorkflowBase+CallbackTransaction
誰かこれが何であるか知っていますか?
また、これは Windows 8 (.net 4.5) のコンピューターでは発生しているようですが、Windows 7 (.net 4.0) を実行しているコンピューターでは発生していないようです。この最後の情報は確実ではありません。