GcManagedToUnmanaged
Der GcManagedToUnmanaged-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) veranlasst bei jedem Übergang eines Threads von verwaltetem zu nicht verwaltetem Code eine Garbage Collection.
Wenn eine nicht verwaltete Komponente keine korrekte Verweiszählung für ein verwaltetes COM-Objekt durchführt, wird das für COM verfügbar gemachte verwaltete Objekt unter Umständen schon einer Garbage Collection unterzogen, während die nicht verwaltete Komponente noch über einen Verweis auf dieses Objekt verfügt. Bei der Garbage Collection wird von der CLR Release aufgerufen. Wenn die Benutzerkomponente das Objekt also vor dem Ausführen der Garbage Collection verwendet, wurde es noch nicht der Garbage Collection unterzogen. Dies ist die Ursache des Nichtdeterminiertheit.