Strange behavior of a custom type

There is a custom type Joint, which is wrapped in JointGoo. Joint consists of different types of data:

    public class Joint
        public int NodeID { get; }
        public Point3d Origin { get; set; }
        public List<Arm> Arms { get; set; } = new List<Arm>();
        public List<Chock> Chocks { get; set; } = new List<Chock>();
        public List<WasherL> LWashers { get; set; } = new List<WasherL>();
        public List<WasherS> SWashers { get; set; } = new List<WasherS>();
        public bool IsValid { get; set; }

When I pass this type from one component to another in Grasshopper, one of the elements shifts every time. If the components’ preview is turned off, the element shifts do not occur. Where should I look for the error?

Not sure, but there is something to consider here. In comparison to script components, you pass per reference. That could explain why the movement of the move component is persisted. You should debug and observe the instance.