That certainly is not the case.
However you might have an easier time with a less complex logic flow. Try this:
- Offset your edges by your given distances.
- Build a surface from the original outline of the site.
- Extend each start and end of the curves by 2x the largest offset so they are longer than they need to be.
- Extrude the extended lines along the Z axis into surfaces.
- Join the surfaces into one Polysurface.
- Split the surface that was created with the original outlines into a series of resulting zones.
- Find the point at parameter 0.5,0.5 on the original surface.
- Filter our the split surfaces which don’t touch the previous midpoint.