Creo que lo confuso es que si escribes int Property { get; set; }
dentro de una clase, entonces es una propiedad automática con un campo de respaldo implícito.
Pero si escribe exactamente lo mismo en una interfaz, entonces no es propiedad automática , simplemente declara que la propiedad es parte de la interfaz y que cualquier tipo que implemente la interfaz tiene que contiene esa propiedad (como propiedad automática o no), pero no crea el campo de respaldo.
Una forma de ver la diferencia es escribir int Property { get; }
: esto es válido en una interfaz y declara una propiedad que solo tiene un captador, pero no un definidor. Pero no se compilará en una clase (a menos que estés usando C # 6.0), porque la propiedad automática tiene que tener un establecedor.