Если есть обработчики , то объект не диспоузнется
У меня создается контрол - class PanelOfficial: Panel, ICreditinalPanel. В нём есть только одно событие внутреннее
this.pictureBoxOfficialCreditinal.DoubleClick += new System.EventHandler(this.pictureBox_DoubleClick);
Других подписок, тем более внешних нет. Сама эта PanelOfficial весит несколько МБ, потому что храни картинку в PictureBox pictureBoxOfficialCreditinal.
Я уже сделал метод Dispose, который делает отписку от события pictureBoxOfficialCreditinal.DoubleClick и вы вызываю его, когда очищаю flowLayoutPanel1
foreach (Control control in flowLayoutPanel1.Controls)
{
ICreditinalPanel creditinalPanel = (ICreditinalPanel) control;
creditinalPanel.Dispose();
}
flowLayoutPanel1.Controls.Clear();
Но старые PanelOfficial всё равно остаются висеть в памяти (((