マルチスレッド使いながらある瞬間だけシリアル化したいならそこだけ別関数に切り出して
[MethodImpl( MethodImplOptions.Synchronized )]を付けるとお気楽だよ
(ある電気メーカーが作ったシステムのバグをそれで直したことある)