This behavior is by design. You can load the add-ins in the XLSTART folder yourself as described by Microsoft:
Add-ins do not load when using the CreateObject command in Excel
Another option that you have is to start Excel using Process.Start
and then an automation object from the running instance by calling the AccessibleObjectFromWindow
function.
Sample code how to do this in C# or VB can be found in a related question:
How to use use late binding to get excel instance?
Please note that you don't have to use late binding as in the example given. Modifying the sample like this should give you a strongly-typed Excel.Application
object:
Excel.Application xlApp = ptr.GetType().InvokeMember("Application",
BindingFlags.GetProperty, null, ptr, null);