Using redgate memory profiler I found that my application was not releasing resources. I tracked it to the toggle button. After running the memory profiler against your test application, I found that each time I click the "ToggleSwitch Control"
button I would get an additional instance of the ToggleSwitchDemo and 5 additional instances of ToggleSwitch.
If I comment out the FluidMoveBehavior found in ToggleSwitch.Generic.xaml the instances are released when the window is closed. I'm not sure what causes this, but wanted to make you aware of the issue.
<ei:FluidMoveBehavior AppliesTo="Children" Duration="0:0:0.2">
<QuarticEase EasingMode="EaseIn" />
I also found this, but it didn't seem to work for me