Удаление объектов штука коварная. Лучше их не удалять, а ставить пометку, что он удален и не отображать в списках. Потому что наверняка после удаления где-то останется ссылка на удаленный объект и произойдет обращение к чужой области памяти. Есть способы с этим бороться, всякие "умные ссылки" и подсчет ссылок. Но самое верное в этом случае это пометка на удаление и "сборка мусора".
Ну, т.е. ты косяки разработки ("наверняка останется где-то ссылка") предлагаешь замаскировать, вводя новые сущности, типа "пометка на удаление", "сборка мусора"?