What it looks like to me is you are scaling parts of your model non-uniformly.
This is hard to explain without pictures. Imagine a perfectly round clock face with the minute hand at 15 minutes. Let’s say the minute hand is 10 cm long. If you rotate the hand to 30 minutes it will still be 10 cm long.
Now imagine you magically squash the clock so that it is half as high as it was, but the same width as before. With the minute hand at 15 min it is still 10 cm long. However, the closer you rotate it to 30 min the more it will ‘squash’ down to 5 cm long.
The same thing happens inside an armature. When you ‘squash’ (or non-uniformly scale) a parent bone in one dimension, that scale affects all child bones the same way.
There are several ways to fix this. The simplest is to toggle the “Hinge” button in the Armature Bones panel of the Edit buttons while in Pose mode. If you still need the bone to follow the parent’s rotation you can use a copy rotation constraint.
Hope this helps.