Cadmesh: Sample point is not on the surface

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;