Acho que a parte confusa é que, se você escreve int Property { get; set; }
dentro de uma classe, então é uma propriedade automática com campo de apoio implícito.
Mas se você escreve exatamente a mesma coisa em uma interface, então não é auto-propriedade , ele apenas declara que a propriedade é parte da interface e que qualquer tipo que implemente a interface tem que contém essa propriedade (como auto-propriedade ou não), mas não cria o campo de apoio.
Uma maneira de ver a diferença é escrever int Property { get; }
: isso é válido em uma interface e declara uma propriedade que tem apenas um getter, mas nenhum setter. Mas ele não será compilado em uma classe (a menos que você esteja usando o C # 6.0), porque a propriedade automática precisa ter um setter.