I had a Chev starter that did this a few years ago. Being the cheapskate I am I determined to fix it rather than simply replace it.
After several R&R's I finally turned the armature and cut the "micas" as the old guys remember. I replaced the brushes and sanded them to shape. I tested it electrically and found it ok. Additionally the solenoid seemed good so I tested it on another starter and it worked fine so I put it back on. I paid attention to the connections and made sure they were nice and clean. I also sanded the mount plate on the snout and where it contacts the block in hopes of a better ground. The end result was that the problem was fixed. Unfortunately I didn't do each item and retest it separately so I can't say which really did the job. The commutator was very black and the "micas" were flush so I think this was the real problem.

As for the solenoid, the contacts can and do wear which other than a short is about all that goes wrong. On the big diesel they actually have a heavy duty set of contacts available for about $35 that we all carry in the glove box for emergency repair.

Today if you haven't already replaced the starter I would go with an auto parts store lifetime warantee starter and be done with it. I did just that with my Dodge Cummins diesel and have "won" twice already.

The starter is good for about 50k and I'm nearing 50k on the 2nd replacement.