Ничего не происходит, потому что он не находит 'this' в коллекции элементов управления 'this'
Если ваша область действия находится внутри самого элемента управления, вы можете сделать
this.Container.Controls.Remove(this);
но все зависит от того, какой тип контроля и в каком типе контейнера. но вышеупомянутое должно работать в большинстве случаев.
EDIT:
Если вы знаете, что ваш элемент управления принадлежит форме, вы можете сделать следующее или заменить форму на известный тип контейнера (то есть панель)
((Form)this.Container).Controls.Remove(this);