My 2007 acted a lot like this and it turned out to be the throttle body needing replaced. The computer threw so many freaking codes it ran like crap would idle surged all over the place trying to idle.