難しく考える事はない。 単純に CLI の制限だよ。

ボーランドの委譲に関する特許を手中にしたから、Delphiの メソッドポインタを実装しようとした。
メソッドポインタは、関数ポインタ+オブジェクト参照(ポインタ) だから、2つのポインタを実装上必要とする。
しかしポインタそのものを隠したいのに、それを構造体で実現する訳にはいかない。

という事で、オブジェクトにするしかなかったのさ。