I have had this problem in the past, there has never been a consistent workaround.
I am taking geometry from a partner with a loose tolerance legacy program and stitching his linework for laser, and very occasionally get the results that follow.
The curve in this example file does not close. If I CrvStart, explode the curve, join the segments that meet at the point, and then join the whole thing again, the new crvstart point will fall somewhere else! Talk about crazymaking… Simplifying does not help, btw.
Anyhow, I have generated an example file and checked to make sure this problem is repeatable, which it is for me (on Rhino5r8).
Looking forward to your feedback!
curveproblem.3dm (931.6 KB)