John: You know, when, uh, when you were a kid, I'd come home from a hunt, and after what I'd seen, I'd be - I'd be wrecked. And you - you'd come up to me, and you'd put your hand on my shoulder, and you'd look me in the eye, and you'd...you'd say "It's okay, Dad."
John: You shouldn't have had to say that to me, I should've been saying that to you. You know, I put...I put too much on your shoulders. I made you grow up too fast. You took care of Sammy. You took care of me. You did that. And you didn't complain, not once.
John: I just want you to know...that I am so proud of you.
Dean: This really you talking
John: Yeah, it's really me.
Dean: Why are you saying this stuff?
John: I want you to watch out for Sammy, okay?
Dean: Yeah, Dad, you know I will. You're scaring me.
John: Don't be scared Dean.
So, he takes the fucking time to apologize for laying too much on Dean's shoulders, to tell him how proud of him he is.
Then he lays the biggest burden he's ever placed on his shoulders (killing Sam) and walks out and dies so that Dean can live.
John Winchester is a rat bastard!
Even in saving Dean, he does it in the manner that causes the most harm possible.
And yes, I know Dean does it to Sam in a year's time.
I love Dean Winchester, but there are definitely times I want smack him upside the head or shake some sense into him, there's even one, no two, stretches where I can't even stand to look at him because of how he's behaving, mostly towards Cas.
But I digress. We'll get there, eventually.