¿Cómo creo un complemento de automatización de Excel en C # que envuelve una función RTD?

Tengo un complemento de automatización basado en RtdServer que funciona:
¿Cómo creo un complemento de automatización de Excel en tiempo real en C # usando RtdServer?.

Crear un contenedor VBA es trivial:

Function RtdWrapper(start)
    RtdWrapper = Excel.Application.WorksheetFunction.RTD("StackOverflow.RtdServer.ProgId", "", start)
End Function

Esto funciona. He intentado crear un contenedor de C # de la siguiente manera:

[ClassInterface(ClassInterfaceType.AutoDual)]
public class RtdWrappers
{
    private readonly Microsoft.Office.Interop.Excel.Application _application = new Application();

    public object Countdown(object startingCount)
    {
        var start = Convert.ToInt32(startingCount.ToString());
        return _application.WorksheetFunction.RTD("StackOverflow.RtdServer.ProgId", string.Empty, start);
    }

    [ComRegisterFunctionAttribute]
    public static void RegisterFunction(Type t)
    {
        Microsoft.Win32.Registry.ClassesRoot.CreateSubKey("CLSID\\{" + t.GUID.ToString().ToUpper() + "}\\Programmable");
    }

    [ComUnregisterFunctionAttribute]
    public static void UnregisterFunction(Type t)
    {
        Microsoft.Win32.Registry.ClassesRoot.DeleteSubKey("CLSID\\{" + t.GUID.ToString().ToUpper() + "}\\Programmable");
    }
}

Cuando ingreso "= Countdown (150)" en una celda en Excel, muestra el valor inicial de 150 que ConnectData devuelve pero que nunca actualiza. ¿Hay alguna devolución de llamada que debo registrar? ¿Estoy creando instancias del objeto Aplicación correctamente? ¿Qué me estoy perdiendo

Gracias

Franc