WaitOneしたときに成功するか失敗するかだから初期所有権とか関係なくね?

if (mutex.WaitOne())
{
普通に起動
}
else
{
既に起動しているアプリをアクティブにして終了
}

これだけの話じゃね?