Creating Asynchronous Business Objects for Use in .NET Windows Forms Clients
There's a new article up in the .NET Development section of MSDN. While the article is about adding asynchronus support to your objects, I think the most important thing the article touches on is something that a lot of people new to WinForms and multi-threading get stuck on: marshalling calls to the UI thread when interacting with controls.