I have to agree with Anvil here. The question is not why he behaves the way he does, the question is why you feel you need to try to figure it out and remain in this relationship?
And that's not an accusation, it's a real, honest-to-God question. It's a bit like... trying on a pair of pants that are on clearance, and they don't fit, and the color is totally wrong, and the zipper doesn't work all that well. Don't try to make them fit. Don't try to change yourself to make them fit. Just find another pair of pants. Unless... unless of course you feel like you're not worth spending full price on a pair of pants that actually fit?