Unikanie LOH podczas czytania pliku binarnego

To pytanie jest kontynuacjąSkuteczny sposób przesyłania wielu plików binarnych do bazy danych SQL Server

Pierwotnie zapytałem, dlaczego używaćFile.ReadAllBytes powodowało szybkie użycie pamięci i przy użyciu tej metody wyciągnięto dane ze sterty dużych obiektów, których nie można łatwo odzyskać w czasie wykonywania.

Moje pytanie brzmi: jak uniknąć tej sytuacji?

using (var fs = new FileStream(path, FileMode.Open))
{
    using (var ms = new MemoryStream())
    {
        byte[] buffer = new byte[2048];
        int bytesRead;
        while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0)
        {
            ms.Write(buffer, 0, bytesRead);
        }
        return new CustomFile { FileValue = ms.ToArray() };
   }
}

Poniższy kod miał na celu obejście problemu poprzez odczytanie pliku w kawałkach zamiast na raz, ale wydaje się, że ma ten sam problem.

questionAnswers(1)

yourAnswerToTheQuestion