То, что вы испытываете, является точным эквивалентом «Программа столкнулась с проблемой и теперь закрывается», за исключением того, что она перехватывается средой выполнения .NET, а не ОС.
Глядя на трассировку стека, она не запускается вашим кодом, что заставляет меня думать, что она исходит из рабочего потока, созданного используемой вами библиотекой или пользовательским элементом управления.
Единственный способ отследить что-то подобное, это запустить собственные библиотеки под отладчиком, который должен перехватить нарушение прав доступа, прежде чем оно попадет на уровень CLR. Это может быть легко или сложно.
Если нативный код является вашим собственным проектом, то самый простой способ настроить это - поместить проект .NET и проект C ++ в одно и то же решение и убедиться, что проект .NET ссылается на проект C ++. Если вы опубликуете более подробную информацию о вашем окружении, возможно, я смогу дать более конкретный совет.