This particular filter's frequency response spikes up in the passband right before coming to the cutoff frequency. How much it spikes depends mostly on the value of q (f mainly determines where the cutoff frequency happens so it also has a minor affect on the spike). For example, with values f=0.2 and q=0.8, the frequency response gain peaks at about +6.0 dB at 3 kHz, so it definitely has potential to push higher-amplitude tones beyond the saturation range.
I wrote up a quick Python script to examine the impulse and frequency response for this filter for particular values of f and q. Not sure if this will help at all, but here it is just in case:
Code
from cmath import *
xs = [0.0 for k in range(100)]; xs[0] = 1.0
ys = [0.0, 0.0, 0.0]
ws = [k/100.0 for k in range(101)]
def imp_response(f,q):
print 'Impulse response'
i = 0
for x in xs:
j = [(i+k)%3 for k in range(3)]
ys[j[2]] = f*x + (1 - f + q)*ys[j[1]] - q*ys[j[0]]
print '%02d %+0.8f' % (i,ys[j[2]])
i += 1
def freq_response(f,q):
print 'Frequency response'
for w in ws:
zi = exp(-1.0j*pi*w)
H = f / (1 - (1 - f + q)*zi + q*zi*zi)
print '%7.1f Hz %+2.3f dB' % (22050.0*w,20.0*log10(abs(H)).real)
if __name__ == '__main__':
f = 0.2
q = 0.8
imp_response(f,q)
freq_response(f,q)