I derive a series of points and sort them by x axis value; this is the list
[<Rhino.Geometry.Point3d object at 0x0000000000000109 [-35.1798593977204,120.897956245486,-6.35969337711393]>, <Rhino.Geometry.Point3d object at 0x000000000000010A [-28.7883720588796,123.292883322848,-10.1015207417881]>, <Rhino.Geometry.Point3d object at 0x000000000000010B [-28.2913356222269,123.261632102391,-10.18091015838]>, <Rhino.Geometry.Point3d object at 0x000000000000010C [-21.0361951335006,119.823802598875,-10.5652753713726]>]
Almost certainly due to uniform knot spacing being used. Chord knot spacing should eliminate the loop. This is just how interpolated points using NURBS works when the input points have very uneven spacing. Knots Effect.3dm (2.7 MB)