The problem is not reproducible when garbage collection is forced, or enough time is given to it, to happen naturally. I am attaching a modified project that invokes GC.Collect before each new UserControl initialization (running R2 SP1 2016).