In vtkImplicitSelectionLoop::EvaluateFunction, there is a comparison:
if (xProj[0] >= this->Bounds[0] && xProj[0] <= this->Bounds[1] && xProj[1] >= this->Bounds[2] &&
xProj[1] <= this->Bounds[3] && xProj[2] >= this->Bounds[4] && xProj[2] <= this->Bounds[5]
my vtkImplicitSelectionLoop is construct from a polygon line, in special cases, a dimension of bounds may have the same value, such as bounds[0] equals bounds[1]. Therefore, it may cause EvaluateFunction to return outside incorrectly.
My usage scenario is to use a polygon to cut a mesh, and I eventually found that in some cases the cutting is incomplete, leaving many points and faces.