Monitorを使ってて不思議に思ったのですが

private void button1_Click(object sender, System.EventArgs e)
{
Monitor.Enter(bitmap);
//テキトーなビットマップをロック
textBox1.Text = "適当に";
}

のイベントを起こした後、
Monitor.Exitを実行していないのに

private button2_Click(object sender, System.EventArgs e)
{
Monitor.Enter(bitmap);
//同じビットマップでロックを取得
textBox1.Text = "これは表示されないはずなのに";
}

↑これが実行されてしまいます。
スレッドとイベントなら同期が取れるのですが・・・。