I personally think it is a dirty throttle body and exhaust, but before I went into the throttle body, I might check to see if the speed sensor above the gas pedal is sticking. After you clean out the throttle body your rpms will go up for 50 miles or so until your car's computer adjusts. Here is a pretty easy video I just found on youtube about cleaning it out. I did this to a chevy suburban a few weeks ago. Fixed the problem. I also changed out the Throttle body sensor in that case but it was throwing a code and going into limp mode. Get some throttle cleaner. Pretty easy fix.