While this might be true, you're ignoring a far more practical reason people go to work sick: Because they don't get paid otherwise. Many employees in the US these days don't get paid sick leave, so if they stay home sick, they don't get paid. For people who get paid a wage, this adds up very quickly, especially for anything worse than a cold. I'd lose 10 percent of my paycheck if I stayed home sick for one day.
The US is one of the few developed nations that doesn't require employers to provide paid sick days. Maybe it's time we started, as a matter of public health.