Car's Acceleration is stuck

So, I have this car’s controller script in which when the variables engineTorque and currentRPM reach the maxiumum value they are allowed to reach, they stuck in these values for few seconds after I stop pressing the assigned axis, resulting in an anomalous acceleration of the car. I believe that when the variable exceeds that determined value, the script forces it to be equal to the maximum value only formally, or better, only in the inspector, so how can I fix this issue?

This is the part of the script involved:

void Acceleration()

    wheelTorque = (engineTorque * carData.throttle * carData.gearRatio[currentGear] * carData.gearRatio[9]);

    currentRPM = (carData.getRigidbody().velocity.magnitude * 60 / (0.29f * 2 * Mathf.PI)) * carData.gearRatio[6] * carData.gearRatio[currentGear];
    if (currentRPM < 1000) {
        currentRPM = 1000;
    if (currentRPM >= engineData.redline) 
        wheelTorque = 0;
        currentRPM = engineData.redline;

Thank you in advance for your help

P.S. Both currentRPM and engineTorque are floats

At first you should use:

currentRPM = Mathf.Clamp(currentRPM,1000,engineData.redline);

This safes you some IF-Statements ;D

Also the problem is with the input (im sure you using Input.GetAxis). Unity slightly decrease the value (which is called the input gravity). Use Input.RawAxis instead, to get the direct Number (-1 or 0 or 1);