原因はAOPか……
AOPといえばS2Container.NETのAOPも結構ひどいぞ

>pointcutを指定しない場合は、 コンポーネントが実装しているインターフェースのすべてのメソッドが対象になります。
とあるのに、実際にはObjectクラスのメソッドも対象になる

Seasar.DynamicProxyに関してはメソッドにvirtualを指定するとインターセプターが2回呼び出されるし
さらに下請けにprotected virtualなメソッドを使用するとそのメソッドもAOP対象になるし、もう訳わかめ

こんなコードで
namespace AOPTest1 {
    public interface ICalc {int Add(int lhs, int rhs);}
    public class Calc : ICalc {
        public virtual int Add(int lhs, int rhs) {return DoAdd(lhs, rhs);}
        protected virtual int DoAdd(int lhs, int rhs) {return lhs + rhs;}
    }
}

diconファイルはこんな感じで
<component class="AOPTest1.Calc">
    <aspect>traceInterceptor</aspect>
</component>

んでこれがAddメソッドを呼び出した時の実行結果 無茶苦茶過ぎるwww
BEGIN CProxyTypeAOPTest1CalcAOPTest10#Add(10,20)
BEGIN AOPTest1.Calc#Add(10, 20)
BEGIN AOPTest1.Calc#DoAdd(10, 20)
END AOPTest1.Calc#DoAdd(10, 20) : 30
END AOPTest1.Calc#Add(10, 20) : 30
END CProxyTypeAOPTest1CalcAOPTest10#Add(10, 20) : 30