https://github.com/Berrysoft/ClassLibrary/blob/9f6eca4029c22f3b4123d29da80894de5dead780/src/Berrysoft.Unsafe/ByReference.cs#L22 To avoid GC change location and invalidate pointer. I guess.