Sure, I appreciate where you're coming from. Speaking from a certain amount of professional experience, however, you do have to be a bit mercenary when you're running a free service.
For example, my current employer ran a free online service where customers could pay extra for additional storage. They could configure their own storage quota and were billed at the end of each month for their configured quota. We had a number of customers who put enough effort in that they would remove the bulk of their assets at the end of each month and reduce the quota just for the 12 hour period around the month boundary and then push it back up and re-upload it. This was a major inconvenience for them and was service-impacting, and the cost they were avoiding was really quite negligible (a few dollars per month), but it just goes to show the lengths to which some will go to abuse free services.
(Of course the fault was really ours for basing our billing on the final quota of the month as opposed to the peak or 95th percentile, but we were still surprised at the lengths to which people went)
No doubt there will be people who complain about any limits - but hey, there are people that complain about having to pay for anything. At least if limits are imposed in a way which impairs performance but leaves things functional, and if there's a relatively quick way to "pay up" to a higher level of service, the reasonable majority of users can't really have any complaints.
Of course, there are times when it pays to make an exception. Also speaking from experience, providing free resources to selected high-profile open source projects can make an excellent advertising opportunity.
Anyway, I'm sure you're on the case - just wanted to share a bit of experience learned the hard way! (^_^)