Rocco was NOT sent to kill Roth because he was a traitor. Rocco took that mission because, as Turnbull has said many times, he was looking to get as close to Michael as Neri had been.
There is absolutely NO WAY that Michael would have kept Rocco around that long knowing that he was one of the traitors. No way.
And if your theory about Michael keeping Rocco close until the time was right had any merit to it, than Michael would never have let Rocco in on so many of the meetings that he had that contained such crucial information.
The only reason that Fredo was kept around until the time was right was because Michael did not want to have his mother go through losing another son. Otherwise if Mama had already been gone when Michael found out that Fredo betrayed him, Fredo wouldn't have ever even made it out of the boat house alive.
Don Cardi
Five - ten years from now, they're gonna wish there was American Cosa Nostra. Five - ten years from now, they're gonna miss John Gotti.