Schneizel was the one who had Lelouch's mother killed. He's been playing Lelouch from the very beginning, with the aim of taking down Charles.
He interrupted their meeting because Lelouch was about to give up, letting that little whiney faggot Suzaku shoulder his burdens. As if Suzaku could take what he's been through.
It didn't take Schneizel long to get started on his whole "forgiveness" ploy. Ultimately, Lelouch would have ended up by his side, against the Emperor.