More likely than not your starter is failing to engage because of damaged flywheel teeth.

Doug describes the issue well, but in my experience, the bendix is a much more likely suspect. (And GM starters are, well, not the most bulletproof of components)

The other way to be sure it's not the flywheel is (when it's in the failure mode) put the vehicle in 2nd and shove it a few feet. This rotates the ring gear, and should give you some "good" teeth. If it catches on the first try after that, suspect the ring gear. Sadly, this won't work on an automatic.

You can also pull the starter while it's "failed" and look a the teeth directly.


_________________________
-Zandr
Mk.IIa #010101243 currently getting a 500GB SSD. More spares in the shed.