Hi John,
My program operates in a very simplistic manner in that it merely divides the total length of the selected object by the number of segments specified by the user (in order to obtain the length of a single segment), and then constructs a polyline with vertices positioned along the selected object every segment length.
As such, if the original object crosses over itself, then the resulting polyline will also cross over itself; and in such cases, depending on the number of segments specified, the vertices of the resulting polyline may coincide at these locations. This is not a bug in the program, but simply a consequence of how the program operates - if you test the program using a varying number of segments, you will observe what I have described above.