have you looked into maybe a problem with the o2 sensor. friend had the same problem and it turned out to be the culprit.