What I need to delete/Clear to avoid an increase in the memory process in my Plug-in

I have created a Plug-in that makes 5 different types of distortion. I have a comboBox to select which type of distortion I want to apply. These types of distortion are written in different classes files.
Now, when I test my Plug-in and change between those different distortions, the distorted effect increases and goes more and more. I suppose that I need to clear something each time that I change to another type of distortion to avoid that, but I don’t know what I need to clear.
One option that comes to my mind is to declare something in the destructor of each class declaration.
Another option is to write something in the function releaseResources().
Another option, which maybe sounds better to me, is to clear something in the processBock() at the beginning of the code for each type of distortion (after the line “if (typeOfDistortion == HardClipType)”

void TypesofDistortionAudioProcessor::processBlock (juce::AudioBuffer& buffer, juce::MidiBuffer& midiMessages)
{
float fMix = 0;
juce::ScopedNoDenormals noDenormals;
auto totalNumInputChannels = getTotalNumInputChannels();
auto totalNumOutputChannels = getTotalNumOutputChannels();
filter.setCutoffFrequency(freqCutoff);

for (auto i = totalNumInputChannels; i < totalNumOutputChannels; ++i)
    buffer.clear (i, 0, buffer.getNumSamples());

for (int channel = 0; channel < totalNumInputChannels; ++channel)
{
    auto* channelData = buffer.getWritePointer (channel);

    if (typeOfDistortion == Off)
    {
    }

    if (typeOfDistortion == HardClipType)
    {
        for (int sample = 0; sample < buffer.getNumSamples(); ++sample)
        {
            channelData[sample] = buffer.getSample(channel, sample);
            fDry = channelData[sample];
            
            fMix = channelData[sample] * hardClipProcessor.getClippingGain();
            float fClipped = hardClipProcessor.hardClipping(fMix);
                           
            float fFiltered = filter.processSample(channel, fClipped);
            fWet = fFiltered;
            channelData[sample] = (fWet * wetAmount.load()) + (fDry * dryAmount.load());
            
            channelData[sample] *= outputGain.load();
        }
    }
    
    else if (typeOfDistortion == SoftClipType)
    {
        for (int sample = 0; sample < buffer.getNumSamples(); ++sample)
        {
            channelData[sample] = buffer.getSample(channel, sample);
            fDry = channelData[sample];
            fMix = channelData[sample] * (hardClipProcessor.getClippingGain() * 0.17); //Reduce the range of scale from 1 - 30 to 1 - 5.1

            float hardClipped = hardClipProcessor.hardClipping(fMix);
       
            channelData[sample] = softClipProcessor.softClipping(hardClipped, softClipProcessor.getSoftCurve());
            float fFiltered = filter.processSample(channel, channelData[sample]);
            fWet = fFiltered;
            channelData[sample] = (fWet * wetAmount.load()) + (fDry * dryAmount.load());
            channelData[sample] *= outputGain.load();
        }
    }

    else if (typeOfDistortion == QuarterCicleType)
    {
        for (int sample = 0; sample < buffer.getNumSamples(); ++sample)
        {
            channelData[sample] = buffer.getSample(channel, sample);
            fDry = channelData[sample];
            fMix = channelData[sample] * hardClipProcessor.getClippingGain() * 0.17; //Reduce the range of scale from 1 - 30 to 1 - 5.1

            float hardClipped = hardClipProcessor.hardClipping(fMix);
            hardClipped *= 0.4;

            channelData[sample] = quarterCircleProcessor.quarterCircle(hardClipped);
            float fFiltered = filter.processSample(channel, channelData[sample]);
            fWet = fFiltered;
            channelData[sample] = (fWet * wetAmount.load()) + (fDry * dryAmount.load());
            channelData[sample] *= outputGain.load();
        }
    }

    else if (typeOfDistortion == AsymmetricType)
    {
        for (int sample = 0; sample < buffer.getNumSamples(); ++sample)
        {
            channelData[sample] = buffer.getSample(channel, sample);
            fDry = channelData[sample];
            fMix = channelData[sample] * hardClipProcessor.getClippingGain() * 0.17; //Reduce the range of scale from 1 - 30 to 1 - 5.1

            float hardClipped = hardClipProcessor.hardClipping(fMix);
            hardClipped *= 0.4;

            channelData[sample] = asymmetricalProcessor.asymmetrical(hardClipped, asymmetricalProcessor.getAsymVariable());
            float fFiltered = filter.processSample(channel, channelData[sample]);
            fWet = fFiltered;
            channelData[sample] = (fWet * wetAmount.load()) + (fDry * dryAmount.load());
            channelData[sample] *= outputGain.load();
            
        }
    }
}

}
Please, let me know how and where do I need to clear the previous data to avoid an infinite increasing in the distortion effect.

Thanks so much