¿Por qué es posible crear una nueva instancia de una interfaz COM?

No tengo mucha experiencia en COM ni coclasses, así que no entiendo por qué puedo usar elnew operador con una interfaz. Desde una vista independiente del lenguaje / framework, es confuso por qué esto se compila y se ejecuta correctamente:

using Microsoft.Office.Interop.Excel;

public class ExcelProgram
{
    static void Main(string[] args)
    {
        Application excel = new Application();
    }
}

InspeccionarApplication en Visual Studio 2010 me muestra:

using System.Runtime.InteropServices;

namespace Microsoft.Office.Interop.Excel
{
    // Summary:
    //     Represents the entire Microsoft Excel application.
    [Guid("000208D5-0000-0000-C000-000000000046")]
    [CoClass(typeof(ApplicationClass))]
    public interface Application : _Application, AppEvents_Event
    {
    }
}

¿Qué está pasando detrás de escena?

Respuestas a la pregunta(1)

Su respuesta a la pregunta