Sounds like it could be a failing purge solenoid (part of the evap emissions system that sits between the charcoal canister and the intake).