He is an adult sulking like a ten year old. There are some people in certain circumstances who will stonewall to cope, but I don't think this is one of them. Please don't go into the Jekyll & Hyde type of thinking. You absolutely need to see him as an integrated whole. Unless you do that, you will hang on to the good bits and continue to put up with this behaviour. He is one whole person. He's capable of good & bad, but he is one person nevertheless.
It's up to you if you think this relationship is worth the hassle, but if you're not yet sure if you want to end it or not, but want to have a go at stopping this behaviour whilst you decide, I recommend the following -
Sit down with him, and say that you are tired of the way he handles conflict. It doesn't matter if it's his coping mechansim - there's two of you in this relationship. Say that despite this being a 'coping mechanism', it has a really detrimental effect on the way you view him. Do not apologise for saying that because it's true. Tell him that despite what he says it is, the effect that it has is like he's punishing you - it's the equivalent of putting someone in solitary isolation with no discussion afterwards why it happened. You will no longer be putting up with that any more. He may sulk after you've said it and try to protest, but calmly stand your ground. He may go off and stew on it for a while. Allow him that sulk, allow him time to digest. Maybe about a week if you don't live together so he can go away and seriously think about it.
Then, after that, observe what he does the next time you have an argument, especially if he's at fault so to speak. It might take him a while to snap out of long habits, but if there's no improvement, you can then see he probably has no intention of doing so and is testing your limits. Then you can break up with him knowing you told him how you feel, and you will also have given him a chance to change.