My guess is the writers intention was for her to seem ‘heroic’ or show her love for her sons but frankly I didn’t buy it. Last we saw of Mary she was rather indifferent about living & before that ep she was even leaning more to the rather be dead side. I didn’t see her offer as selfless & it didn’t redeem her at all to me. Frankly, I’d go as far to say it was on the selfish side. “I don’t wanna see my son die so I’ll die instead.” On the surface it may sound like it was for them but given thought, it’s not. And I say that bc of what you brought up; Dean. Sam too, to lesser extent. Dean has never gotten over the fire & Mary KNOWS how it messed him up. To see it again & on top of that, her dying in HIS place (cuz ya know he’d blame himself) that’d cause irrevocable damage.
But selfishly I totally wanted her to pull the trigger (sorry Dean) cuz I’m done with her. She continues to piss me off. And so help me if the “consequences” Billie spoke of come back on Cas cuz he saved Mary, Ima be pissed.