I dont see why there should be a pause every 30 seconds or so in any case. The nick coloring should only be applied when neccersary (joining a chan, mode changes, sending text to the chan, etc), i dont see why there would be any need to 'refresh' it either?
I would assume that the number of nicks has little to no effect on how long it takes (aside from when you first join the channels), because each event that triggers it should be linked to just one nick/address. Of corse it would use more cpu in larger channels due to this being triggered much more often, but that in no way explains the pauses.
Im not convinced its a bug, but i certainly dont believe its the users fault for being in so many channels with so many people.
I would suggest turning remotes off (/remote off) and seing if it continues. My best guess given the information provided would be that the ial is doing large updates for some reason (/who +c on a timer for example?).