O inicializador de coleção vazio para a propriedade da lista resulta em nulo

Quando euexecute este código, não inicializaThisIsAList para uma coleção vazia como eu esperava ... em vez dissoThisIsAList foi nulo.

void Main()
{
    var thing = new Thing
    {
        ThisIsAList = {}
    };

    Console.WriteLine(thing.ThisIsAList == null); // prints "True"
}

public class Thing
{
    public List<string> ThisIsAList { get; set; }
}

Por que isso não é um erro de compilação? Por que o resultadonull?

Fiquei me perguntando se talvez houvesse uma conversão implícita acontecendo aqui, mas as seguintes tentativas produziram erros de compilação:

thing.ThisIsAList = Enumerable.Empty<string>().ToArray();
List<int> integers = { 0, 1, 2, 3 };

De acordo com a documentação do MSDN sobreinicializadores de coleção, parece que um inicializador de coleção basicamente trata apenas de chamadasAdd()&nbsp;para voce. Então eu procurei possíveis sobrecargas paraList.Add, mas não encontrou nada que eu acho que se aplicaria.

Alguém pode explicar o que está acontecendo aqui a partir da especificação C #?