Splitting multiple surfaces by multiple curves issue

Hello guys,

I am trying to split some surfaces by multiple curves while maintaining the surface tree structure.
I’ve used CrossRef component to to do the trick but its somehow failed on some of the surfaces.

Cutting surfaces by multiple polylines.gh (28.7 KB)

Could anybody give me some idea how it should be improved?

Thank you very much.