I'm CEO of an open source based startup (robusta.dev for Kubernetes monitoring and troubleshooting) and IMO those limitations are usually a bad idea.
In my experience, most contributors start by playing around with software, then properly using it (often in a commercial setting), and only later on contribute.
What are you trying to accomplish by restricting commercial usage? If you'd like to monetize there are a number of alternative options for that. If you're bitter because people are using your software without contributing, I would suggest just not making it open source then. The ability for anyone to take it and use it is fundamental to FOSS.