Meshing faces with BRepMesh_IncrementalMesh can take a lot of time if faces are distorted. Although there is a possibility to work against it by setting the MinSize parameter in BRepMesh_FastDiscret::Parameters, this might also limit the triangulation fineness of unproblematic faces.
Wouldn't it be better to support a progress indicator (Message_ProgressIndicator) in BRepMesh_IncrementalMesh, as it is done e.g. for the Boolean Operations (see BOPAlgo_Algo)? In this way, the user could see the progress and also cancel the execution. It would also be interesting to be able to set a timeout value.