If it's not resting on the inner limit screw in the small ring, that's because of your cable tension. I guarantee it's not the derailleur's return spring, or the cable would be slack.
I've come across your problem before, and when it's become apparent that no amount of adjustment will solve it, I just tweaked the derailleur cage with an adjustable spanner. You have to be careful though, cause the steel used there is often very brittle. If you opt to tweak the cage, figure out how to do it with the most minimal amount of bending, in order not to mess too much with the cage's (supposedly) highly engineered geometry - it's easy to mess up shifting if you just go the hack.