私は最近、実際にこれを行っているオープンソース プロジェクトをいくつか見ました。「int* input = this.someIterator.GetUnsafePtr()」などの関数から安全でないポインタを返します。
私の理解では、これは完全に間違っているに違いありません。安全でないポインターは「固定」ステートメントを介してのみ取得でき、確かに関数内から返されたポインターは固定されなくなり (宣言スコープが「失われます」)、最終的にガベージ コレクションが行われます。
しかし、コンパイラがこれについて警告したことも覚えていないので、実際に「固定されていない」ポインタがいたるところに広がっている可能性がある場合、わざわざ固定ステートメントを使用する必要はありません。