Хорошим стилем считается освобождение в деструкторе, при выделении памяти в конструкторе (или функции конструирования). В данном случае для удаления списка лучше создать специальную глобальную функцию, по образу Add();