Я попытаюсь объяснить.
Есть маленький сервис, который через вебморду исполняет лимитированный набор команд на виндовые сервера. Исполнение идет через Powershell.
Powershell работает через Runspace, который из-за сетевых проблем может побиться.
Серверов, офк. много и таких хендлеров по штуке на сервер. Они запихнуты в дикшенери и доступны по именам.
В шарпе, абсолютно магическим образом я просто в новом потоке могу отслеживать его состояние, обращаясь к него полю.
C#, когда я делаю
Thread t = new(Watch)
t.Start()