Using too much CPU on a shared server is a “horror story” for anyone unfortunate enough to have to share a server with such users/sites, and has nothing to do with any “overselling.” In every case where the user has publicly shared the circumstances, the account suspension or termination has either been related to inefficient site operation, TOS violations, or just traffic beyond what is reasonable for a low-cost shared server hosting plan. There is a limit to what you can serve in a shared hosting environment without negatively impacting other users on your server; if you exceed that you are likely to need to use a dedicated server(s).
I think lensman is right on the money. CPU usage is not likely to be the major issue if your site is designed efficiently, but the number of concurrent connections being served by Apache may well be.
Bandwidth usage is far less likely to be a problem than Copyright/TOS issues related to IP.
Frankly, whether you are able to successfully run a “file” sharing site on DreamHost has more to do with these issues than anything else. Some sites just are not appropriate for use on a shared server due to the amount of http traffic they are likely to generate, and anytime you allow users to upload content in a “file sharing” atmosphere you are likely to end up with infringing content.