すみません、>>85を実行してみたのですがやはり同じエラーが出て
すんなりとはUIが消えてくれません。
デバッグ見るとNGUITools.csの

static public void DestroyImmediate (UnityEngine.Object obj)
{
  if (obj != null)
  {
    ★if (Application.isEditor) UnityEngine.Object.DestroyImmediate(obj);
    else UnityEngine.Object.Destroy(obj);
  }
}

★でエラーが出ていました。
これはNGUIどうのではなく、UIの呼び出し条件、もしくは消去条件のif文あたりが
問題あるのでしょうか?