You must remove it from the Controls parent collection, as described in Darin Dimitrovโs answer, and also call Dispose:
panel.Controls.Remove(someControlInstance); someControlInstance.Dispose();
You should always call Dispose on objects that implement IDisposable when you are done with them, so that any unmanaged resources that they own are freed immediately.
source share