.NET - Finalizadores y salida (0)

Tengo una aplicación .NET C # / C ++ que utiliza una llamada aexit(0) (desde<stdlib.h>) en un hilo para terminar.

a parte extraña es que, en algunas circunstancias, los finalizadores de los objetos administrados se llaman justo después de la llamada aexit, y en otras circunstancias, no se les llama en absoluto.

Las circunstancias son bastante deterministas: la aplicación llama a algunos métodos desde un plugin dll externo (escrito en C no administrado) durante su vida útil.
Si uso dll A, los finalizadores siempre se llaman.
Si uso dll B, los finalizadores nunca se llaman.

¿Cuál es el comportamiento esperado de los finalizadores en caso de una llamada de salida (0)? (si hay algún comportamiento esperado -y documentado-)

¿Pueden las llamadas a los dlls externos cambiar alguna configuración global que pueda afectar la forma en que finaliza el proceso?

Respuestas a la pregunta(4)

Su respuesta a la pregunta