Стандартная обработка времени жизни контекста с внедрением зависимостей в контроллер не может работать в вашем сценарии, потому что вы хотите использовать внедренный контекст после его ожидаемого времени жизни (контроллер уже освобожден).
Ваша трудоемкая операция должна иметь ссылку на другой контейнер единиц и должна запрашивать новый экземпляр контекста, разрешенный с помощью менеджера времени жизни Transient или PerResolve. Когда ваша операция завершается или прерывается, она должна обработать удаление контекста.
ИМХО, охватывающий пользовательский поток в приложении ASP.NET (или любом размещенном в IIS) приложении, не очень хорошая идея.