なんとなく言いたい事が分かってきたかもしれん。
DataとFileが密結合になるのが嫌なのだと思う。

まずDataの中にFileをコンポジションで所有するのが、気に入らない。
DataにFileの特性が入り込んでしまう。継承よりは疎結合だし、必要なので我慢する。
だがDataからFileのメンバを使うのは、それだけ結合が増えるので嫌だ。なるべく避けよう。
でもSaveToFile関数でopen/write/closeの3個を使うのは、避けられないから我慢する。
だがopen/write/closeを分けて委譲するのは、同じ3個でも3カ所に分かれるのは結合が強まる。
それに委譲を作るのも、まるでオーバーライドのようで結合が強まっているようだし、そもそもDataの特性に合わない。
SaveToFile関数のローカル内だけで済んでいた結合がDataクラス全体に拡散してしまうなんて悪夢だ。

という考え方なんだと推測したがどうだろう?