Sweep1 seems to fail at ordering sections properly here.
The curve does go from bottom to top but Sweep1 only works if the rails are selected from top to bottom and the point at the end.
Copying the edge and joining the many resulting segments and using that curve gives the same result.
Rebuilding the curve (I used 51 points and degree 5) allows sweep1 to work correctly bottom to top, so the bug arises from something in the original edge.