Geometry.DoesIntersect is not giving me expected results

I’m working in Civil 3D 2021, and converted a few objects into Polycurves. I put together a graph to check if a selected polycurve is inside another using the method of projecting a line from the vertices in one direction and checking the crossing count. I added a similar set of nodes to check in the opposite direction in order to account for points being on the same Y coordinate, but I’m getting different results.

Does anyone know why this might happen?
In the image below, the nodes along the top create lines going left, and they cross the red polycurve giving ‘true’ for each line. The nodes along the bottom draw lines going right and give 2 true and 2 false even though it’s clear that all 4 lines cross the red polycurve.
I’ve moved the vertices around and it seems to be something about that upper-right line segment that it thinks is not there.

Check your lacing and list levels.