Я думаю, это потому, что удаление свойства означает удаление всего кода, связанного с этим свойством. Xcode не знает, написали ли вы какие-то пользовательские методы установки / получения, или у вас есть большой объем кода, использующего это свойство в вашем проекте.
Конечно, они могли бы использовать новую причудливую лексику для анализа вашего кода и удаления свойства, если оно нигде не используется, но я предполагаю, что это будет слишком много работы.
Кроме того, только то, что Xcode может генерировать свойство для вас, не означает, что это действительно так. Другими словами, если я сам создал свойство и подключил его к кнопке в IB, действительно ли я хочу, чтобы Xcode удалял этот код при удалении кнопки? Вероятно, нет.