help:find an error when get extreme point between plane and circle?!

For example:
gp_Circ circle(gp_Ax2(gp_Pnt(10,20,30), gp_Dir(0,1,1)), 30);
BRepBuilderAPI_MakeEdge CircEdge(circle);
if (!CircEdge.IsDone())
return;
TopoDS_Edge Shape1 = CircEdge.Edge();

gp_Pln Pln(gp_Pnt(-10,30,40), gp_Dir(0,0,1));

BRepBuilderAPI_MakeFace PlnFace(Pln);
if (!PlnFace.IsDone())
return;
TopoDS_Face Shape2 = PlnFace.Face();

BRepExtrema_DistShapeShape pExtrema(Shape1, Shape2);
int SolutionCount = pExtrema.NbSolution();
if (!SolutionCount)
return;
gp_Pnt Pt1, Pt2;
for (int i = 1; i {
Pt1 = pExtrema.PointOnShape1(i);
Pt2 = pExtrema.PointOnShape2(i);
}

The result point is wrong. Why?
Thank you!

BRepExtrema_DistShapeShape have error's picture

yes
i have the same problem!