I finally learned what "runtime error" and "debugger" is. Seems to be pretty useful knowledge.
Anyhoo: I added an unfold layout/pattern/whatever manager to the recursion: it only has the face check now: the first of the three neighbor triangles to continue with is the one, that's on the same face.
I added this simple condition, and I have more pleasant results.
1. original mesh
2. unfolded mesh: CW neighbor order
3. unfolded mesh: CCW neighbor order