しかも
    if(m_Object == 0) {
      m_Object = new Singleton;
    }

も相変わらず無限ループだし。