Ок, вы меня уговорили, перечислять все в комментариях не удобно, поэтому пусть будет ответом, несмотря на "холиварность" вопроса, средней степени тяжести.
Все поля должны быть приватными.
Это требование ООП, поэтому даже не хочу обсуждать. Если требуется предоставить доступ к полю уровня protected, public или internal, то использование для этого свойств обязательно.
Когда нужны private свойства?
В общем случае private свойства абсолютно бесполезны, т.к. они не могут ограничить доступ к полю - уровень доступа у них одинаковый, ниже уже некуда. Исключение составляют автоматические свойства, но их возможность ограничения доступа к полю связана не с уровнем доступа, а тем фактом, что имена полей не известны программисту, да и компилятор их генерирует только в момент компиляции.
Но один случай полезного применения приватных свойств все же есть - это вычисляемые свойства за которыми нет конкретных полей или наоборот - совокупность зависимых полей. Другой вопрос, что для этих целей можно использовать обычные методы, но тут уже нужно смотреть на семантику использования и сложность кода аксессоров.
Более подробно про преимущества свойств, когда их применять нужно, а когда не нужно можно почитать в ответе @VladD - Для чего нужны свойства?
В приведенном вами примере, куда более ценно - явно указать модификатор private перед полем. Это избавит читающего ваш код от необходимости вспоминать/изучать уровень доступа по-умолчанию для членов класса.