I read about how memory leaks can be avoided in Windows Presentation Foundation apps, by binding only properties that either implements INotifyPropertyChanged or they are DependencyObject objects. But how does that make the CLR to collect this objects?
Source info:
WPF Bindings can actually cause memory leaks. The rule of thumb is to always bind to a DependencyObject or to a INotifyPropertyChanged object. When you fail to do so, WPF will create a strong reference to your binding source (meaning the ViewModel) from a static variable, causing a memory leak (https://michaelscodingspot.com/ways-to-cause-memory-leaks-in-dotnet/)