¿Por qué puede tener una coma al final de un inicializador de colección?

Este siempre me ha intrigado, pero supongo que hay una explicación muy sensata de por qué sucede.

Cuando tiene un inicializador de colección, el compilador permite una coma final, p.

new Dictionary<string, string>
{
    { "Foo", "Bar "},
};

y

new List<string>
{
    "Foo",
};

¿Alguien sabe por qué el compilador permite esta coma final?

Respuestas a la pregunta(5)

Su respuesta a la pregunta