A coworker asked me if I knew of any good books on .Net multithreaded programming.
The only one I knew of was .NET Multithreading which is weak in some areas and getting a little bit long in the tooth.
One of the best sources of info is Joe Duffy's blog.
Start with Concurrency and the impact on reusable libraries, keep an eye out for his book, Concurrent Programming on Windows, and consider a Safari rough cuts subscription.
A little over two years ago I stopped working on my startup company, and took a job with the big New York bank. The one product I managed to release, QuickSwitch, sat on hard drives without updates or product support.
It wasn't doing anyone any good in the form, so I removed the product-ization aspects of the code, the licensing, the obfuscation, and related matters. You can find the source on http://www.codeplex.com/QuickSwitch
Reviewing one's code from two years ago can be a bit of a shock. I use to switch back and forth between C# and VB without missing a beat. But now even reading VB is a little bit hard on my eyes. So be forewarned, if you're interested in taking a look the UI is in visual basic, the interop layer is in C#.