В дополнение ко всем предыдущим хорошим комментариям, пожалуйста, помните, что числа, которые вы видите в диспетчере задач: виртуальная память , а не физическая память. Фактический объем физической оперативной памяти, используемой программой, не является очевидным при просмотре диспетчера задач. Кроме того, диспетчер задач показывает вам серию снимков - если у вас действительно возникла проблема, вы захотите посмотреть на нее с течением времени, с Perfmon или чем-то еще, в дополнение к отличному предложению по профилированию с помощью dotTrace JetBrains.
Но не выполняйте никакой оптимизации до тех пор, пока ваш код не заработает и не получит высокий охват тестированием, и пока вы не узнаете, что на самом деле требует для оптимизации. В противном случае вы рискуете оптимизировать проблемы, которые не существуют, и, что еще хуже, оптимизировать проблему неправильная , игнорируя при этом проблему real или, возможно, усугубляя ее.