OnLoad вызывается снова, потому что base.OnLayout () использует свойства, которые воссоздают окно.Это не хорошо, вам обязательно нужно это исправить.Вам нужно выяснить, почему вызывается OnLayout при удалении элемента управления.Установите точку останова в переопределении OnLayout и проверьте стек вызовов.Напишите это в своем вопросе, если вы не можете понять это.