вообще, по сырцам очень полезно побродить. многие вопросы и непонятки отпадают сами
Destroy там не совсем пустой. он освобождает место в памяти от самого инстанса TObject
дестрой не освобождает память, занимаемую инстансом.
дестрой нужен для освобождения пользовательских ресурсов.
вызов унаследованного деструктора для наследуемых от TObject классов хоть и не является обязательным, но является правилом хорошего тона.