Forget this brep join c output. The sweeps do not have planar edge loops.
A correct join results in an open brep with two closed edge loops at the naked edges.
Try the script posted here:
This brep join has a tolerance input which might solve the problem.