How to offset a mesh without causing tangling

I want to offset a SubD object in Grasshopper to create new faces and then modify it using components like Weaverbird or other components to create a double shell structure. However, when I offset the SubD object, the faces become tangled. Are there any possible solutions to resolve this issue

I have currently tried baking the tangled SubD object in Rhino after manually cleaning it up to avoid the tangling issue. However, this arbitrary cleanup process results in differing information values between the two meshes, making it difficult to create a double shell structure. I would like to find a solution that untangles the mesh while ensuring that two meshes have matching data for natural curved surfaces. If achieving this proves challenging, how can I have different meshes with a data structure similar to offset

I am planning to use the ‘Mesh+’ plugin to create the double shell structure.

mesh offset.gh (154.7 KB)

How can that be possible?