I have a need for running queued jobs sequentially (or with n threads in parallel) in the background to better control load on the system.

The jobs will be queued in an SQL Server 2008 database using a table as the queue.

I need a simple "engine" that will deque elements from the queue and execute some processing code. The processing code will be C#/.net. 

My primary concerns are simplicity, testability, simple deployment and reliabilty.

I am looking for recommendations on the technology, like Biztalk or maybe a Windows Service?