Thanks guys. I actually don't remember having any perf problems. I just thought .net 2.0 might have added support for this.
The only problem I remember with my old code was the service stopped processing. However, I late found that was a bug in one of the .net classes and I rewrote my service base class using another method for other services and now they never stop.
You're right though I'll probably go the threading route rather than the threadpool. I've never had a problem with it dropping but it will be running on a server so that very well could happen.
However, when you say logic processes what do you mean? Let's say I have a quad core, is that 4 logical processors?