I thought Dean taught Cas a lesson in S.4 E.22 so here's my speculation on it.

Castiel had thought he'd known everything. Thought being able to read humans' minds left nothing to be learned. Yet here he stood being taught commitment, love, determination, brothers by a man who'd never finished high school. According to the info-commercial he'd seen one morning not finishing high school was bad!

According to Dean though, pain, and everything else negative in his life be damned, his responsibility, no his gift, in one of the most sacred descriptions of the word, was in trouble and so help anyone who dared to get in Dean Winchester's way.

Cas hadn't thought love in its most basic form could run that deep. Sam had betrayed him. Up here, you got banished for that kind of stuff. He'd chosen his own addiction over Dean. Cas knew he had to help his friend before the angels killed him and all he held dear. So, Castiel Fell, betrayed his family to save his best friend and his brother. Heaven be damned.

Note: I can't remember when Cas fell, so if this is wrong…let me know, I'll change it.