First of all, a link to an example of the Goertzel algorithm.
Second, the goertzel algorithm is so fast that you don't need to get into multithreading.
Just create a class that does the goertzel algorithm for a frequency and sampling rate that you define when you create an instance.
Make a list or array of instances of that class, then for every sample, run through that array and have it calculate the goertzel for that sample.
In your case, you just need two instances so you don't really need an array of instances.
Fast and simple.
I've done this very thing with several hundred instances on a fairly old PC, and updating the GUI causes more of a load than the processing.