2003 Pontiac Montana engine idle malfunction

On occasion engine idle jumps up to as much as 2500 rpm and won’t return to normal until engine is turned off. At times it has also dropped the idle to zero and I have to keep my right foot on the gas to keep it alive while using my left foot on the brake when I am at a stop light. I had the car in for this issue but they have not been able to find the problem. Parts relating to idle control have been replaced twice, but the problem of high idle has occurred twice in the 2 months since the car was last in for repair. I was told that the main computer may need to be replaced.