Red Hat (my employer currently) is typically in the same boat here and it drives me crazy how people don't think about that before criticizing.
People love to say, "Red Hat couldn't exist without <project>" which is true, but what they don't realize is that a ton (sometimes all) of the development of that upstream project is done by Red Hat employees. Without that a lot of projects may not even exist.
There are no doubt "open source" companies that take more than they give, but it's a little more nuanced and complicated than people make it out to be.
The whole narrative of "company X is offering Elasticsearch as a service and not contributing back!" is ridiculous. First of all, the whole point of free software is that somebody somewhere is going to be making money with that software, and that's okay, regardless of contribution. Second of all, in practice companies like Elastic will always exaggerate the extent to which corporations aren't "contributing back".
What they really mean is Amazon isn't contributing financially to Elastic Co. That's what they're pissed about, and that's why they clearly wish they were actually in the business of proprietary software (which they now are)
The thing is "really hard to get patches merged" is a fuzzy barrier. There are many, many example of what most would consider reasonably maintainers where companies just don't contribute back. Even in breach of GPL.
No, the point of free software is that users of the software have the freedom to use the software, redistribute the software, modify the software, and redistribute modified versions of the software. Someone making money using those abilities is incidental to the actual goal.