Problema con el objeto Ninject con tareas / subprocesos

Tengo un proyecto MVC3 que utiliza Ninject, Entity Framework y el patrón de Unidad de trabajo con una capa de servicio.

Mi clase AsyncService tiene una función que inicia una tarea en segundo plano que, como ejemplo, agrega usuarios al repositorio de usuarios. Mi problema actual es que la tarea solo se ejecuta correctamente durante unos segundos antes de que aparezca un error que indica que se ha eliminado el DbContext. El contexto de mi base de datos, que se inyecta con InRequestScope () de Ninject parece estar desechándose, ya que InRequestScope () lo vincula con HttpContext.

He leído sobre InThreadScope (), pero no estoy seguro de cómo implementarlo correctamente en mi proyecto MVC.

Mi pregunta es: ¿Cuál es la forma correcta de usar Ninject en mi tarea?

public class AsyncService
{
    private CancellationTokenSource cancellationTokenSource;
    private IUnitOfWork _uow;
    public AsyncService(IUnitOfWork uow)
    {
        _uow = uow;
    }
    public void AsyncStartActivity(Activity activity)
    {
    ...snip...
        this.cancellationTokenSource = new CancellationTokenSource();
        var cancellationToken = this.cancellationTokenSource.Token;
        var task = Task.Factory.StartNew(() =>
            {
                foreach (var user in activity.UserList)
                {
                    this._uow.UserRepository.Add(new User() {UserID = user});
                }
                this._uow.Save();
            }, cancellationToken);
     ...snip...
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta