The system is broken, but requiring the patent holder to put a product on the market is not the fix, as it disincentivises running a pure research operation.
Right now, you can run a research organisation to develop and prototype a technology, then license it to manufacturers and get payback on the research over the next twenty years, and use that to fund development of more technology.
If you require the patent holder to put a product on the market themselves, you make life harder. It's only worthwhile to publish patents if your organisation is also in the business of manufacturing and selling related products, or if you think you can sell the patent to someone who is within months. A time limit really doesn't help, as the clock ticks down on a patent you aren't making money from anyway.
There are too many patents granted for abstract ideas. Patents are only supposed to be granted for implementations. Protection against "submarine patents" should be legislated, as should FRAND licensing for patents required to implement standards. And then there's the whole issue of companies that are big enough thinking they can just ignore the little guys' patents while trying to enforce their own stupid patents on obvious ideas....