You have a bad starter drive. Also called: over-running clutch. It is like a ratchet allowing ther starter to drive the motor but not allowing the motor to drive the starter. This allows the gear to retract after starting. The over-running clutch is slipping both ways when the event occurs They can be purchased separately and can be replaced. I would suggest replacing the whole starter though. Especially if you are paying for labor.
Bosch Master, ASE Master, L1
33 years MB technician