なるほどね
・チャネルを使わない
・ロックを使う場合のロック順序は守る
という制限があっても簡単にデッドロックが起きてしまうのがC#という結論かな