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:

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