CreateBooleanRegions Rhino7/8

I’ve encountered an issue with the CreateBooleanRegions method in Rhino 8—its behavior is completely different from how it worked in Rhino 7. I’ve already tried changing the referenced Rhino 8 version in the project, adjusting the tolerance precision and other parameters in the script, but I still can’t get the correct result. Could someone please help me figure out if I’m missing a specific setting or step, or if Rhino 8 has modified some of the underlying code that prevents CreateBooleanRegions from functioning as it did in previous versions? Below are excerpts of the code and the Grasshopper data.

"""
Compute boolean regions from set of intersecting curves.
Author: Anders Holden Deleuran
"""

import Rhino as rc

Regions = []
if Curves and Plane:
    
    # Compute boolean regions
    regs = rc.Geometry.Curve.CreateBooleanRegions(Curves,Plane,Combine,Tolerance)
    
    # Extract regions
    for i in range(regs.RegionCount):
        crvs = regs.RegionCurves(i)
        Regions.extend(crvs)

CreateBooleanRegions-Rhino7 Data.gh (185.2 KB)

I’m currently using the code provided by @ AndersDeleuran. Could you please help me troubleshoot what might be causing the issue?