The problem probably wasn't the bytes transferred, more the number of requests hitting the server. 500 connections each requesting an object of 100 bytes will generally consume more resources than 1 connection requesting an object of 50000 bytes.
On a dedicated this could still be an issue (if your server config isn't properly tweaked) but for a shared server that is normally only spending a tiny fraction of time processing requests from each of its few hundred web sites it can bring things to a grinding halt pretty quickly.
BTW, if you decided to go dedicated I hope you've learned your lesson and DON'T go with hostgator
