Разница в том, что другие сборки, скомпилированные с кодом, который читает свойство, скомпилированы со свойством.
Если позже вы решите, что вам нужно добавить код в метод получения или установки, вы можете сделать это без необходимости перекомпилировать все остальные сборки, связанные с ним.
Не так с полями. Если впоследствии вы измените поле на свойство, чтобы добавить этот код, другие сборки, связанные с вашей, перестанут функционировать должным образом, поскольку они скомпилированы для чтения поля, а не свойства.
Также написано много кода для поиска свойств, а не полей, таких как привязка данных и т. П.