По факту, вы всегда будете использовать поля!
Свойства это просто методы доступа к полям, которые выглядят как поля.
Если поле не readonly и не const, то для соблюдения инкапсуляции их нужно делать private, а для доступа к ним использовать геттеры и сеттеры. Свойства просто предоставляют синтаксический сахар для удобной реализации последних.