See the question and my original answer on StackOverflow

The running object table is not what Excel needs to connect. It needs a "regular" COM object registered as such in the registry to be able to communicate with it, and yes, this COM object can be served by an independent .exe.

There's nothing particularly complex, you can use Microsoft's official out-of-process .NET core sample available here https://github.com/dotnet/samples/tree/main/core/extensions/OutOfProcCOM

but I've written a small sample (with .NET8's WPF) that demonstrates all this for Excel specifically here https://github.com/smourier/ExcelOutOfProcessRdtServer

ExcelOutOfProcessRdtServer