да и старый будет работать после запуска по второму разу. Вы создаете ээ .. наблюдалку. https://docs.microsoft.com/en-us/dotnet/api/system.io.filesystemwatcher?view=net-5.0 - ну она у вас и висит в памяти до ребута. Все прекрасно, только я ж сразу спросил - по какому событию обрабатывается задача-то? А вообще мне лень читать про этот класс, хотя он и полезный.
The simple synchronous FileSystemWatcher has a blind spot and can miss changes: WaitForChanged() waits for exactly one change and passes control to Invoke-SomeAction. This is when the blind spot starts, and it lasts until your code is done, and the loop calls WaitForChanged() again. https://powershell.one/tricks/filesystem/filesystemwatcher
то есть надо почитать как работает листенер и затем 1)перечитать что я выше писал 2)не читать что я выше писал и делать как в интернетах пишут. В таком случае не понятно, зачем вообще что-то спрашивать