Я вижу, где может быть проблема с удалением кнопки, если вы пишете приложение, открывающее и закрывающее множество форм во время его работы. Вам нужно убедиться, что у вас есть правильный код утилизации, чтобы приложение не занимало слишком много памяти.
Кроме того, мне нравится первое утверждение, потому что оно более четко объясняет, что делает ваш код. Вы создаете новую кнопку и добавляете ее к существующим элементам управления на странице. Вы можете прочитать сразу после этого при отладке / рефакторинге и понять, что происходит. Во второй группе кода это немного более расплывчато. Если вы отмахнулись от первоначального объявления кнопки и увидели btn.Parent = this, вы можете поверить, что вы переназначали кнопку на новую форму или что-то в этом роде.
Это звучит немного придирчиво, но в последнее время я помогаю некоторым коллегам, показывая им часть своего кода, и я обнаруживаю, что, хотя существует определенное количество способов избавиться от кошки, иногда есть определенный способ избавиться от него, который гораздо лучше объясняет себя, глядя на вещи в будущем.