Зависит от того, какой тип пожизненного менеджера. PerThreadLifetimeManager поддерживает один экземпляр на поток. Существует шесть типов пожизненных менеджеров, но это не значит, что вы не можете создать своего, если он вам не подходит.
Похоже, вы хотите TransientLifetimeManager , который предоставляет новый экземпляр для вызова. Вы можете вызвать Resolve в своем рабочем потоке, использовать экземпляр и утилизировать его до выхода из метода.
Я не уверен, что вы могли бы создать пожизненный менеджер, который каким-то образом автоматически знал бы, что ваш поток завершил выполнение. Лучший способ убедиться в том, что это произойдет, - создать упаковщик метода, который 1) получает экземпляр из Unity (используя TransientLifetimeManager), выполняет действие (ваш фактический рабочий метод), передавая экземпляр, и затем удаляет экземпляр перед выходом. Затем вы выполняете свой код, передавая его этой оболочке, которая запускается в рабочем потоке. Вам нужно всего лишь написать код Resolve () и Dispose () один раз и использовать его везде.