Possible .Transformation bug in Grasshopper?

I am working on a parametric single line font to use with pen plotters, laser cutters, CNC machines, etc. However, the randomization option I am working on is giving me some unexpected results. It seems to me the translations are somehow cached and not reset when the random (“rand”) slider is reset to 0. Whenever I use the slider, the translations seem to be added to (rather than replace) previous translations.

Anyone has any idea what’s going wrong here? Help is much appreciated!

I seem to have fixed it by replacing

newGeometry = geometry.copy()

by

newGeometry = [rg.Point3d(pt.X, pt.Y, pt.Z) for pt in geometry]

Apparently making a “shallow” copy is not enough when working with Transformations?