¿Por qué Visual Studio realiza un bucle cuando se depuran eventos UnhandledException?

(Esto se ve muy similar aC # UnhandledException de otro hilo mantiene bucle, pero no estoy intentando capturar la excepción aquí, solo tengo la oportunidad de registrar algo)

Tengo un código C # muy simple que configura un controlador de eventos UnhandledException, luego lanza una excepción:

class Program
{
    static void Main(string[] args)
    {
        AppDomain currentDomain = AppDomain.CurrentDomain;
        //currentDomain.UnhandledException += new UnhandledExceptionEventHandler(currentDomain_UnhandledException);

        currentDomain.UnhandledException += (sender, eventArgs) =>
            {
                var exception = (Exception) eventArgs.ExceptionObject;

                Console.WriteLine("Unhandled exception: " + exception.Message);
            };

        throw new AccessViolationException("Bleurgh");
    }
}

Se comporta como espero de la consola:

Unhandled exception: Bleurgh
Unhandled Exception: System.AccessViolationException: Bleurgh
    at UnhandledExceptions.Program.Main(String[] args) in c:\code\sandbox\UnhandledExceptions\UnhandledExceptions\Program.cs:line 20

Pero cuando intento depurarlo en Visual Studio, entra en un bucle, y entra en el controlador de eventos y luego se retira para volver a generar la excepción.

Lo mismo sucede cuando expreso el controlador como un método estático distinto.

¿Alguna idea de qué está pasando?

Esto está en Visual Studio 2010. EDIT: y .NET 4.

Respuestas a la pregunta(2)

Su respuesta a la pregunta