Is this not obvious to everyone?
Hiring someone on this kind of visa puts them under your boot. They can't ask for much or make waves without risking their whole life being upturned. If a citizen gets fired that sucks, but if you're on a work visa you might have to leave the country (breaking your lease, leaving your partner, etc). I think you get 60 days. Given how bad the job market is, that's not very long to find a new job. Also given how ICE is abducting people and sending them to a death camp, people are extra cautious.
It's similar to how coupling health insurance to employment gives the employer extra power against labor. Are you really going to make a big deal about your boss pressuring you to work unpaid overtime when getting fired means you lose access to your life saving medicine?