Yes I have the same problem and a solution.
Just pass a single double array, layout like
[Dimension,Order,Number of Control Points,Periodicity ( true 1 or false 0),Knots1,Knots2,...Knotsm,
NOTE: the dimension of ControlPoints and Number of Knots must match the requirement.
do not contain a nest array, of any other form(single object array instead of single double array is ok)which is exactly the reason why this function always refuses to parse the argument.
It's not an in-process method. so no need to care about safearray problem.It's frustrated to find out the simple solusion.