Co-worker was seeing deadlocks thanks to locks getting called across multiple threads (thanks to UI thread invokes).  Some samples on when a deadlock can occur.