Problemas de interpolación de cadenas

Estoy tratando de averiguar por qué falla mi prueba unitaria (la tercera afirmación a continuación):

var date = new DateTime(2017, 1, 1, 1, 0, 0);

var formatted = "{countdown|" + date.ToString("o") + "}";

//Works
Assert.AreEqual(date.ToString("o"), $"{date:o}");
//Works
Assert.AreEqual(formatted, $"{{countdown|{date.ToString("o")}}}");
//This one fails
Assert.AreEqual(formatted, $"{{countdown|{date:o}}}");

AFAIK, esto debería funcionar correctamente, pero parece que no pasa el parámetro de formato correctamente, parece que solo{countdown|o} al código ¿Alguna idea de por qué esto está fallando?

Respuestas a la pregunta(4)

Su respuesta a la pregunta