ASP.NET HttpContext.Current dentro de Task.Run

Tengo un siguiente ejemplo de código que se usa en la aplicación ASP.NET MVC. El propósito de este código es crear una solicitud de "disparar y olvidar" para poner en cola algunas operaciones de larga ejecución.

public JsonResult SomeAction() {
   HttpContext ctx = HttpContext.Current;            

   Task.Run(() => {
       HttpContext.Current = ctx;
       //Other long running code here.
   });

   return Json("{ 'status': 'Work Queued' }");
}

Sé que esta no es una buena manera de manejar HttpContext.Current en código asíncrono, pero actualmente nuestra implementación no nos permite hacer otra cosa. Me gustaría entender cuánto es peligroso este código ...

La pregunta: ¿Es teóricamente posible que establecer el HttpContext dentro de Task.Run, establecerá el contexto en otra solicitud?

Creo que sí, pero no estoy seguro. Cómo lo entiendo: Request1 se maneja con Thread1 del grupo de subprocesos, luego, mientras Thread1 maneja absolutamente otra solicitud (Request2), el código dentro de Task.Run establecerá el contexto de Request1 a Request2.

Tal vez estoy equivocado, pero mi conocimiento de los aspectos internos de ASP.NET no me permite entenderlo correctamente.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta