You should look into the new Async CTP here: http://msdn.microsoft.com/en-us/vstudio/gg316360
And tutorial here: http://geekswithblogs.net/mbcrump/archive/2010/10/28/visual-studio-async-ctp-for-the-rest-of-ushellip.aspx
Regardless of the method to deliver the UI the new Async CTP provides simple solutions to GUI threading and responsiveness.
Follow n-tier development practices, use unit testing and coded UI testing(MSTest for instance), and profile your application to find bottlenecks and memory issues.