>デストラクタがあればIFが最低1つはなくなるというのが事実

デストラクタはオブジェクトを破棄した結果呼ばれるものだから
結局オブジェクトを破棄するかどうかを判定するIFはなくならないんじゃね?

なんのIFがなくなるの?