Last March I was on a GRU-IAH-EWR trip, on the IAH-EWR leg, we had to divert to ROC. We took a more northern route than normal due to weather. We circled south of Syracuse for a while, started to head towards SWF, then made a u turn and landed in ROC. I think we stayed in ROC for 2..3 hrs, the overall delay was about 4.5..5 hrs (in Y).
The next evening, I had a EWR-IAH-MZT trip so, I went back to EWR, CO1611 was delayed couple hours, I got into IAH around 1:30am, slept in terminal D, and at 5:30am, went to the PC in terminal E for a shower, and then headed to Term B for my flight to MZT.