Объекты в C # автоматически не «освобождаются», как только они больше не используются.
Скорее, когда вы удаляете объект из элемента управления, он становится пригодным для сбора мусора в этот момент, при условии, что у вас нет других ссылок на этот UIelement.
Как только объект «неуткорен» (нет прямых или косвенных ссылок ни на один из используемых объектов в вашем приложении), он становится пригодным для сбора. Затем сборщик мусора, в конце концов, очистит ваш объект, но когда это происходит, вы не можете (как правило) контролировать его.
Просто верь, что это в конечном итоге будет очищено. В этом прелесть C # (и .NET в целом) - управление этим процессом и его беспокойство для вас.
Редактировать: после некоторого тестирования кажется, что Window содержит ссылку на UIelement до следующего прохода макета. Вы можете заставить это произойти, добавив вызов к:
this.UpdateLayout();
После удаления элемента (ов) с холста Children. Это сделает объекты доступными для ГХ.