WaitHandleCannotBeOpenedException en el rol web de Azure comienza con Task.Wait ()

El siguiente punto de entrada de rol (web), después de regresar, hace que se lance la excepción a continuación.

public class WebRole : RoleEntryPoint
{
    public override bool OnStart()
    {
        Task.Run(() =>
            {
                // Anything can be here, but the lamdbda can be empty too...
            }).Wait();

        return true;
    }
}

La excepción:

Se produjo una excepción de primera oportunidad del tipo 'System.Threading.WaitHandleCannotBeOpenedException' en mscorlib.dll

Información adicional: No existe un identificador del nombre dado.

Como es evidente, esto se arroja desde el marco. La excepción parece ser inofensiva, no he tenido ningún problema.

Todavía tengo curiosidad, ¿por qué sucede esto? ¿Hay alguna forma de ejecutar código asíncrono en el método de inicio de rol que no cause tales excepciones?

Editar:

Esta es la pila de llamadas de la excepción:

>   mscorlib.dll!System.Threading.EventWaitHandle.OpenExisting(string name, System.Security.AccessControl.EventWaitHandleRights rights) Unknown
    Microsoft.WindowsAzure.ServiceRuntime.dll!Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.StartRoleInternal() Unknown
    Microsoft.WindowsAzure.ServiceRuntime.dll!Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.StartRole() Unknown
    Microsoft.WindowsAzure.ServiceRuntime.dll!Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.StartRole.AnonymousMethod__2()  Unknown
    mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)   Unknown
    mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)   Unknown
    mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown
    mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()    Unknown
    [Native to Managed Transition]  

Edición 2:

Esta es la fuente de tiempo de ejecución de Azure en cuestión:

private void StartRoleInternal()
{
    string environmentVariable = Environment.GetEnvironmentVariable("RdRoleId");
    string name = RoleEnvironment.NormalizeEventName("Global\\started_{0}", environmentVariable);
    try
    {
        using (EventWaitHandle eventWaitHandle = EventWaitHandle.OpenExisting(name, EventWaitHandleRights.Modify))
        {
            eventWaitHandle.Set();
        }
    }
    catch (WaitHandleCannotBeOpenedException)
    {
    }
    RoleEnvironment.TraceSource.TraceEvent(TraceEventType.Information, 203, "Role entrypoint . CALLING   Run(): " + this.role);
    SystemEvents.LogEventToSystemEvents("Windows Azure Runtime 2.3.0.0", RuntimeEventType.OnRoleRunBegin, "Role is running: OnRun(): " + this.role);
    this.role.Run();
    RoleEnvironment.TraceSource.TraceEvent(TraceEventType.Warning, 204, "Role entrypoint . COMPLETED Run() ==> ROLE RECYCLING INITIATED: " + this.role);
    SystemEvents.LogEventToSystemEvents("Windows Azure Runtime 2.3.0.0", RuntimeEventType.OnRoleRunEnd, "Role will recyle: OnRun(): " + this.role);
    RoleEnvironment.RequestRecycle();
}