Late answer, but after watching Anne/ Dead Man's Party / Faith, Hope & Trick today, there are times when Xander really needs to shut his mouth.
"Look. I'm sorry that your honey was a demon, but most girls don't hop a Greyhound over boy troubles"
Buffy: What if he's mad?
Xander: Mad'? Just because you ran away and abandoned your post and
your friends and your mom and made him lay awake every night worrying
about you?
"And what'll we talk about at a gathering anyway? 'So, Buffy, did you
meet any nice pimps on your travels? And, oh, by the by, thanks for ruining our
lives for the past three months.'"
Buffy: "Punish you? I didn't do this to punish you."
Xander: Well, you did. You should've seen what you put her through."
And that's just the one episode. Sure, Xander would've felt worried and concerned, but when Buffy came back at a vulnerable state, he came across as so judgemental. Does he know what it is like to see your lover turn against you? The guilt? Have your mother give you an ultimatium that resulted in Buffy not feeling welcome? No, and that ''tough love'' act that he often uses, and repeats in Into The Woods is baby psychiatry. Sure, characters are very flawed: In Bargaining, Willow is naive, Anya's decision to become a vengeance demon again is out of pure spite and sadness, Cordelia is insensitive in Homecoming... yet they grow and develop as characters. Xander doesn't grow that much, not compared to characters such as Giles, Buffy and Faith. After he discovers that Spike had sex with Buffy and Anya in Entropy, he seems so... cruel. He also seems rather paranoid, as if Anya having sex with Spike was a way to ''get back at him''. This is manipulative and caused a guilt trip.
I don't think Xander is a bad person. He is on the right side of the battle between good and evil. But he lacks the awareness and the consequences for his actions, which other characters have.