storyboardの構成は以下です。
画像の説明をここに入力

破棄ボタンを押した時に下記の処理を入れています。

let storyboard = UIStoryboard(name: "Main",bundle:nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("Top")
UIApplication.sharedApplication().keyWindow?.rootViewController = vc

しかし、以下のようにもともと表示されていたviewの上に新たなwindowが作られてしまいます。
3回破棄を繰り返した結果です。

もともとのviewControllerを解放して、topページに遷移させるには、上記コードをどのように書き換えればよいのでしょうか?

コメントいただいたコードを追加したところ、下記のようになりました。
deinitは呼ばれ、解放はされました。
画像の説明をここに入力

コードは以下のようにしました

UIApplication.sharedApplication().keyWindow?.rootViewController?
.dismissViewControllerAnimated(true, completion: nil)
let storyboard = UIStoryboard(name: "Main",bundle:nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("FBLogin")
UIApplication.sharedApplication().keyWindow?.rootViewController = vc