Why does logit_bias change classification results?

I’m running tests that use GPT-4 on a classification task and I ask it to respond as either ‘1’ or ‘0’ with a response token limit of 1. With no logit_bias it has 100% compliance and I only get '1’s and '0’s as my responses.

Now I rerun the classification task with the same prompt, but use the logit_bias parameter to give both ‘1’ and ‘0’ a bias of 100. This is to try and guarantee I don’t get non-compliant responses. Again I get 100% compliance, but the set of assigned labels is slightly different.

Temperature is set to 0.

It’s not clear to me why the outcome is different as in both cases the prompt is the same, compliance is 100% in both cases, and both classes receive the same bias weight. Any insight to this?