One of the things that always jumped out to me about this reveal is that it implies that Metro Man was also the very first person to recognize that MegaMind wasn’t really evil. He knew his nemesis wouldn’t actually hurt anyone if he won, he knew that this universally reviled pariah never really had any more choice than he did.
The rest of Metro City treats MegaMind like a real, sincere, serious threat once he’s unopposed, and it takes them a while to learn otherwise. But Metro Man? He’s not surprised to see him and Roxanne working together, he doesn’t act like there’s any kind of threat beyond his cover being blown. He wastes no time in coming clean once the cat’s out of the bag. He’s been working with this guy all his life. Besides his own mental health, I get the impression that he also recognized that this would be good for MegaMind too.
I just really love how in a superhero pastiche that asks “Is the villain really so bad, and the hero really so good?” the answer is “no, but that’s okay”. It’s okay that Metro Man isn’t a paragon. It’s okay that he has to take care of himself. It’s okay for him to step down and live his own life. It wouldn’t be okay for him to leave people in danger, but it’s pretty clear he knew he wasn’t doing that.
And it carries to the end. MegaMind becomes the city’s new protector, but it’s clear that he’s still got some issues to work through, and he’s getting help working through them. He’s got a support network, he’s willing to put in the effort, but he’s not the shining paragon Metro Man was believed to be. And he doesn’t NEED to be that paragon. He’s still good. He’s still protecting people. And he’s not alone in it.
God, there’s just so many shitty “Superheroes would have character flaws too, and that’s why they’d actually suck” deconstructions floating around, it’s nice to see a story that acknowledges that no one can live up to that kind of role, but that’s okay!