Я написал эту часть книги, когда программист на Java перешел на C # несколько лет назад. Я думаю, что я вернусь к тексту в следующей версии и сделаю его немного более понятным.
Если вы хотите убедиться, что пользователь вашего класса знает, что какой-то код будет запускаться, когда он использует вещь, то включение его в метод делает это явным. Кроме того, использование методов позволяет возвращать условия ошибки без необходимости генерировать исключения. Хитов производительности нет, так как компилятор все равно преобразует свойства в методы.
Я часто использую свойства в коде, который я пишу, особенно для таких вещей, как state. Я никогда не выступал за то, чтобы не использовать свойства, а больше следил за тем, чтобы в правильной ситуации вы использовали правильные вещи.