DispatchWrapper in C# for Variant

"To verify that you must marshal an input object to a Dispatch object array,  examine the method's or property's VBA syntax by clicking the link located in  the Visual Basic for Applications (VBA)  Syntax section in the method's Help topic in the SolidWorks API Help. If  the data type of the input object is VARIANT, then you must marshal the input  object to a Dispatch object array; otherwise, your code might generate an error  or not work as expected. " - from API help on .NET

I am  new to  this API and looking for example CreateBsplineSurface Method (IModeler) the VBA link gives

Visual Basic for Applications (VBA)
Public Function CreateBsplineSurface( _
   ByVal Props As Variant, _
   ByVal UKnots As Variant, _
   ByVal VKnots As Variant, _
   ByVal CtrlPtCoords As Variant _
) As Object
Now can someone explain to me why if I call  this function with the   arg  values  as System.Object it seems to work  where as  if I  use the DispatchWrapper it does not ?  Am I reading this wrong ?
Thanks
David
SolidworksApi macros