It does sound like solenoid does not stay engaged. If not battery/connections, I would go along with the spring as Victor said/starter drive as you say or entire solenoid replace. Can't hear, see or observe. Trying to read hard on his explanation. Without the clicking, I know you guys are thinking starter drive, not solenoid electro magnet strength/coils because it always spins. I focused on first post saying starter hesitates and thought battery/connections. I just suggested what I would do to prove to myself it's not the battery with something easy, like cleaning and jumping.