Method GetDataTree Question: Can not Collected Data Correctly

The problem is you’re modifying the actual tree you’re getting out of the input:

List<GH_Point> BranchsPts = InputPtsTree.Branches[Index];
...
BranchsPts.RemoveAt(0);

This tree is shared amongst all parameters which are connected by wires, so you’re not ever supposed to change a tree that comes from an input. When inside your code you one-by-one remove all the points from it, the tree which is stored inside the parameter becomes entirely empty, which is why the second time the SolveInstance() method runs you’re not getting any points. They no longer exist.