Dan over at Cosmic Variance has a fun post explaining the mechanism for why, when buses are running late they tend to cluster (much to everyone's irritation). I confess that I once worked out the exact same problem while waiting for a bus in the freezing cold in Chicago -- although in my case it was the #55, not the #6. I distinctly remember waiting about an hour for a bus that was supposed to come every 15 minutes, and when it finally arrived there were 4 in a row.
The mechanism for bunching is pretty intuitive, but I wonder if there might be solutions to prevent the problem. Someone suggested faster loading of passengers, but it also seems like having the (empty, faster) trailing bus simply pass the (full, slower) front bus would help a little. The full bus could also start skipping stops (assuming no one wants to get off) knowing there was an empty bus right behind.