The spring is the issue, it needs to be precisely in the right place or it will never seat properly, I had a devil of a time refitting a bezel recently and it wasn't until the minutest change in the wire ring position would it click nicely into place.
You could check that the bezel is completely flat too, on a glass table check there is no rocking indicating a bent bezel. If it's flat then it's the spring wire.