This is due to the leeway inside the "ComputeDirectionFromInput" function. Inside this function, there is a local variable called "Leeway". It describes how far the gamepad stick has to be pushed to get a directional input (range is from 0 to 1).