Por qué este código arroja System.ExecutionEngineException

Antecedentes: Estoy usando DirectX 9.0 Managed Libraries para transformar matrices de puntos 3d en coordenadas de pantalla 2D. Para la velocidad, uso los métodos UnsafeNativeMethods para hacer todas las transformaciones.

El problema: Si se usa mi función de recorte de línea personalizada, mi aplicación muere sin lanzar ninguna excepción, me tomó un tiempo darme cuenta de que estaba lanzando uninalcanzable System.ExecutionEngineException. Lo he reducido a suceder debido a las dos últimas líneas de mi función de recorte.

List<Vector3> verticesAfterClipping = new List<Vector3>;
public unsafe void ClipLine(Line lineToClip)
{
    this.verticesAfterClipping.Clear();

    // Clipping algorithm happens here... (this is psuedo-code of what it does)
    foreach(Vertex in lineToClip.Vertices)
    {
        bool thisIsClipped =   // Set to whether this vertex is clipped
        bool lastWasClipped =  // Set to whether last vertex was clipped

        if(thisIsClipped == false && lastWasClipped == true)
        {
            verticesAfterClipping.Add( /* intersection on clipping plane */ );
            verticesAfterClipping.Add( /* thisVertex */ );
        }
        else if (thisIsClipped == false && lastWasClipped == false)
        {
            verticesAfterClipping.Add( /* thisVertex */ );
        }
        else if (thisIsClipped == true && lastWasClipped == false)
        {
            verticesAfterClipping.Add(/* intersection on clipping plane */);
        }
    }

    // THIS IS WHERE BAD THINGS HAPPEN
    lineToClip.Vertices = new Vertex[verticesAfterClipping.Count];
    verticesAfterClipping.CopyTo(lineToClip.Vertices, 0);
}

Cuando elverticesAfterClipping la lista se copia enlineToClip vértices dellineToClip El objeto se pasa a un UnsafeNativeMethod que transforma estos vértices en vértices 2D. Por todo lo que puedo ver cuando lo paso en modo de depuración, funciona completamente bien, hasta que simplemente muere.

Simplemente no puedo entender qué está mal. Cualquier ayuda sería muy apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta