不具合? : 継承メソッドが Renaming されない?

どこから仕様でどこがバグなのか、まだはっきりとしていないのだが、今回ためした4つバージョンすべてで、特定の条件で Renaming が働かず、MissingMethodException になってしまった。

public class BaseClass
{
  public virtual void DoIt() { ... }
  public void MoreDoIt()     { ... }
}

public class ExtClass : BaseClass
{
  public override void DoIt() { ... }
}

public class MoreExtendClass : ExtClass
{
  private void MyMethod()
  {
    this.MoreDoIt();     // (A)
    MoreDoIt();          // (B)
    base.MoreDoIt();     // (C)
  }
}

上記の (A), (B), (C) はすべて BaseClass.MoreDoIt() への呼び出しなのだが、これを難読化した場合 (A) と (B) はリネーム後の MoreDoIt() に変更されるのだが、(C) が MoreDoIt() のままになってしまっているようだ。難読化後のソースイメージは

public class @1
{
  public virtual void @1() { ... }
  public void @2() { ... }
}

public class @2 : @1
{
  public override void @1() { ... }
}

public class @3 : @2
{
  public void @3()
  {
    this.@1();         // (A)
    @1();              // (B)
    base.MoreDoIt();   // (C) こんなメソッドは存在しない!
  }
}

こんなかんじになる。私の場合、上記の例のように同じ意味になる場合は常に (A) の形式でメソッドを呼び出しを記述するため、この問題の再現最小コードを作ろうとして (A) の記述をし、再現しない!いったいどこに問題が!?なんてかんじでちょっと手間取った。
プロダクト全体の難読化を実際に試していたので、問題が発生していたクラスの実装は base. になっていたのだ。回避方法がわかったとえはいえ、すでにプロジェクトからいなくなった人を含め、何人が (C) の書き方をしているだろうか? と考えると頭が痛い…。