It looks like this is because of the "deadzone" on the stick. The basic fix is probably something like is to use GamePadDeadZone.Circular. Perhaps before your code, something like
GamePadState gpSTate_new = GamePad.GetState(playerIndex, GamePadDeadZone.Circular);
A very similar question was asked on GameDev (and you can see a more detailed answer there), which you might have better luck on with this kinds of questions in the future.