I don't see it as a way to suppress wages but rather discourage people from moving around within the industry. For H1-B holders that do eventually want a green card, they tends to tolerate a lot of abusive work environment in companies that should have gone out of businesses until the very end. For those who don't care because they have a career in another nation to go back to (because they really are good), that's not really a problem.
A lot of employers, typically the ones who make good profit, hire based on talent and performance, and do not abuse the system by lower wages for those with green card or citizenship. Others who abuse them tend to lose the good ones as soon as they got their green card, or when they have any layoffs that would jeopardize their application process (if your employer has a layoff in your field of work, most likely all of the H1-B to green card application will be denied).
The biggest offender in the fields are the big outsourcing firm (most of the top 10 list), that submit multiple applications for the same applicants to different companies, and create bogus positions that need one skill yet put the employees to work in another. The big tech giants own H1-B employees are typically treated pretty well, and they even sponsors L1 visa for the managements, and makes similar salaries as the citizens. Why? Because they can always switch from Apple to Google to Amazon to Intel to Facebook to Samsung to whoever else have money at the moment.