20 minutes at 20 GPM is 400 gallons stored in the well. That is pretty good. Wait exactly one hour and do it again. Time how long it takes and how much water you get out of the well the second time. Then wait 30 minutes and do it again. The amount of water you get out, divided by the number of minutes it took, will give you a good indication of your recovery rate.
If you run more water than the recovery rate, you will always pump the well dry. You can try to choke the pump back to the recovery amount and it should run steady as long as you want. However, the recovery flow rate may not be enough to help clean out the well. What you are doing is probably the best way to clean out the well. Run it hard until it pumps off, wait 30 minutes or an hour, and do it again. If you can get to the kill switch within about a minute after the well pumps dry, you won’t hurt the pump. It is still in water and has water in it, so it takes a few minutes to start heating up.
The slower the recovery rate, the longer it takes to clean up a well. I have a well that makes a little less than 1 GPM. When I shock the well and try to clean it out, it takes many days. I use a Cycle Sensor to shut off the pump when the well is dry. Then I set it to automatically restart in an hour. It pumps out about 50 gallons, is off for an hour, then does it again. After a couple of days it clears up nicely.