Found out that I was releasing the force vectors too early and too often, so the object pool was starting to return the same one, which caused the chunks to do a kind of synchronized swim because they all shared the same vector.  I also suspect that the PiecewiseCurve.contains function doesn't work the way it should
Found out that PiecewiseCurve's contains function wasn't working correctly with cubic curves, and I tracked that down to a misuse of the solveCubic function.