but if I do something that annoys him (even if that's simply defending myself), he goes all weird and gives me the silent treatment.
Ditch him & run.
You won't change him. It suits him to give you the silent treatment, he is training you to never object, to never hold an opinion he doesn't approve of, & to become his creature.
Whenever I try to confront him he uses his mental health as a defense
Ditch him & run.
He is telling you that he should have no accountability.
I don't know if he really does find me unpleasant.
Ditch him & run.
Why on earth do you want to spend time with someone you have to worry is finding you unpleasant?
But I walk over eggshells, I can never get anything right.
Ditch him & run.
This will escalate.
You will second-guess yourself, start editing words before they are allowed to leave your mouth, your confidence will plummet, & you will be a nervous wreck.
You will become someone who lives only to anticipate him moods & placate him.
Is this bad?
Yup.
Ditch him & run.
Another thing is that if I try to talk to him about it all, he puts it off as 'you're acting like my girlfriend', after he has just smothered me in love a day before.
Ditch him & run.
You are not a person to him. You are an almost-girlfriend-shaped object who he likes to undermine & control by expressing fake emotions one day & shutting you down the next.
He is allowed to express himself however he wishes. You, however, must be kept on tenterhooks & continually 'tested' - because you only exist to facilitate the almost-girlfriend-shaped hole in his life.
As an object, you are not allowed independent thoughts, emotions or opinions. You are merely a reflection of him, & his wants.
So confused.
When a man wants you, he lets you know.
When a man likes you, you feel warmth & security.
When a man loves you, you feel loved.
When a man is fucking with your head, you feel confused.
Ditch him, & run.