The reason of the issue is the calculation error of the algorithm for calculation of a distance from a point to 3D triangle. In your case the error very often was bigger than the thickness of the surface, it resulted in incorrect return value from Inside()
.
To fix the issue you can change the code for the region 0
in G4TriangularFacet::Distance(p)
(line 346) to the following:
//
// We are in region 0.
//
G4double dist = fSurfaceNormal.dot(D);
fSqrDist = dist*dist;
return fSurfaceNormal*dist;