Из документации MSDN для EventHandler Delegate:
В отличие от примеров С# и Visual Basic, пример Visual С++ код не требует создания временная переменная с потоком. визуальный Версия С++ автоматически предоставляет поточный доступ, позволяющий вам поднимите событие напрямую.
Почему С# не может автоматически обеспечивать потокобезопасный доступ к событиям, где С++/CLI может?