Welcome, and I wish I knew for certain.
I would hazard a guess that the problem either lies there, or with the brushes; have you cleaned the motor?
I had an American Flyer S-Guage that had a similar problem and the motor brushes turned out to be the culprit. A good cleaning took care of it.