C # + COM Interop, versión determinista

os objetos @COM generalmente tienen una destrucción determinista: se liberan cuando se libera la última referencia.

¿Cómo se maneja esto en C # - Interoperabilidad COM? Las clases no implementanIDisposable, así que no veo forma de activar un IUnknown :: Release explícito.

Una prueba informal muestra que los objetos COM no referenciados se recopilan perezosamente (es decir, el recolector de basura está activando la liberación). ¿Qué debo hacer para los objetos OCM que necesitan ser lanzados agresivamente? (por ejemplo, tener recursos críticos grandes o compartidos)

Problema original: tenemos una aplicación C # que utiliza mucho una biblioteca COM y está goteando como un loco. Parece que los problemas están "entre" el código C ++ y C # (tenemos acceso a ambos), pero no podemos precisarlo.

Respuestas a la pregunta(6)

Su respuesta a la pregunta