I've seen this happen before.
If you have an external solenoid read this;
This is how things go wrong (with this wiring scenario that is)
If the external solenoid has one large cable routed to the Starter's own integral solenoid and the energizing wire on the starter's integral solenoid has a jumper wire going from the large terminal to the smaller (energizing) terminal - the starter drive's hang up and do not release right away.. Sometimes they will hang for only a second or two - sometimes longer.
The cause is that when the power is removed from the circuit (when you release the starter switch/button) - the starter is still spinning and it now changes from being a motor to being a generator. The current coming out of that large terminal is now shunted over to the energizing terminal - thereby keeping the solenoid engaged and the gears in mesh.
When they first developed the PMGR starter, the planetary gearsets were all metal and could take such abuse. Not now. Since they're now made of nylon/plastic they do exactly what yours has done.
Actually - It happened to Bill D. here on the forum as well..
How do you fix it?
Simple.
Remove the jumper wire at the starter from the large to the small terminal.
Run a separate wire (14g is what I use) from the energizing terminal on the external solenoid - route that now to the energizing terminal on the starter's own solenoid.
Here's another way to do it where you will eliminate starter run-on
I prefer to have the starter's large cable connected to the large output terminal on the external solenoid and to connect the starter's energizing cable as I stated above (to the external Solenoid's energizing terminal),,
I'll try to find some better pics for you if needed..