I'll bet you anything that the engine management system is using it's emergency mode (basically cutting the revs down to idle to protect the engine). There are many reasons why this could be happening, the management system could be faulty, any number of sensors in the engine could be faulty too. The third option is that there is something wrong with the engine itself. All the faults will be listed by the management system & can be seen on the diagnostic computer. Personally I'd take the car to the garage and have them hook it up to diagnose the fault.