C# › Delegates, Events & Lambdas
What causes event-handler memory leaks and how do you prevent them?
AdvancedAnswer
A long-lived publisher holding a delegate to a subscriber keeps the subscriber alive. Prevent it by unsubscribing (-=), using weak event patterns, or scoping lifetimes.
source.Changed += Handler;
// later, to allow GC:
source.Changed -= Handler;Real-world example A screen that subscribes to a singleton service must unsubscribe on close or it never gets collected.