IRegisteredObject no funciona como se esperaba

Antecedentes

Estoy trabajando en un sitio web ASP.NET 4 (no en una aplicación web). Estoy tratando de usarIRegisteredObject para permitir que se ejecute un código de ejecución prolongada en un subproceso que no sea de solicitud.

Para las pruebas, configuré el intervalo de reciclaje del grupo de aplicaciones IIS 7.5 en valores bajos para que intente reciclar mientras se ejecuta el subproceso en segundo plano.

Código
public class AspFriendlyBackgroundJob
{
    private readonly object key = new object();
    private readonly Task task;

    public AspFriendlyBackgroundJob(Action work)
    {
        lock (key)
        {
            HostingEnvironment.RegisterObject(new Stopper(this));
            task = Task.Factory.StartNew(work);
        }
    }

    class Stopper : IRegisteredObject
    {
        private readonly AspFriendlyBackgroundJob job;

        public Stopper(AspFriendlyBackgroundJob job)
        {
            this.job = job;
        }

        public void Stop(bool immediate)
        {
            lock (job.key)
            {
                job.task.Wait();
                HostingEnvironment.UnregisterObject(this);
            }
        }
    }
}
Problema

Cuando se recicló el grupo de aplicaciones,IRegisteredObject.Stop fue llamado conimmediate ajustado afalse. Sin embargo, el proceso parece terminar antesStop devoluciones; la llamada aHostingEnvironment.UnregisterObject nunca se alcanza. Este comportamiento parece contrario a la siguiente información que leí:

Fire and Forget en ASP.NET:

Si todavía hay objetos registrados ejecutándose después de 30 segundos, ASP.NET llamaráIRegisteredObject.Stop(true) en ellos.ASP.NET descargará el dominio de aplicación después de que hayan regresado todas esas segundas notificaciones.

Realización de trabajo asincrónico, o tareas, en aplicaciones ASP.NET:

Si lo necesita, puede retrasar la descarga todo el tiempo que desee, porque no la descargaremos hasta que su método Stop vuelva por segunda vez.

Respuestas a la pregunta(1)

Su respuesta a la pregunta