Witam

Korzystam ze zdarzenia SessionSwitch do włączania pewnych funkcji programu, tylko kiedy jest zalogowany użytkownik.

https://docs.microsoft.com/en-us/dotnet/api/microsoft.win32.systemevents.sessionswitch?view=dotnet-plat-ext-6.0

W opisie SessionSwitch jest taka uwaga:
Because this is a static event, you must detach your event handlers when your application is disposed, or memory leaks will result.

Problem w tym, że kiedy program zostaje zamknięty np przez system, odrejestrowanie zdarzenia które mam w Dispose nie występuje.

Jak rozwiązać ten problem? A może jakieś inne podejście.