I think you may be probing too fast. When the bed is probed and the Z probe triggers, the firmware commands the Z motion to stop abruptly. If there is too much inertia in the Z motion system to do that, the Z motor will jump steps and the nozzle height will be less than the firmware thinks it is. This means that the next time you probe, the probe triggers early and the firmware thinks the bed is higher at that point. And so on.

To test this, place the nozzle over the bed and send G1 Z5 and G30 S-1 alternately. The G30 S-1 command should report about the same trigger height each time. If it reports increasing trigger heights, you are probing too fast. Reduce the F parameter in the M558 command until you get a consistent result.

Maybe you have the maximum Z speed set too high in M203, or the maximum Z acceleration set too high in M201?

When the Z probe is lifted and moved between probe points, the firmware commands both the lift and the XY movement at the speed given by the F parameter in the M558 command. On a Cartesian or CoreXY printer, the M203 Z speed limit would normally be much lower than the M558 F parameter, so the Z lift will be at this lower speed.

@dc42
Yes I tried that too got the pretty much the same this as the last one I just posted.

I meant this one:

To test this, place the nozzle over the bed and send G1 Z5 and G30 S-1 alternately. The G30 S-1 command should report about the same trigger height each time. If it reports increasing trigger heights, you are probing too fast. Reduce the F parameter in the M558 command until you get a consistent result.

@dc42
Yes it would go up a little by little like 4.303 to 4.350 and so on, sometimes it would eventually level out i then changed the F from i think 120 to 100 and then it seemed to level out right away to about .01 of a mm