В те дни, когда у нас есть несколько ГБ ОЗУ на машине, идея о том, что приложение, ориентированное на пользователя, как вы обычно создаете в C #, должна использовать только несколько 100 КБ оперативной памяти, является обратной. Любой неиспользованный оперативной памяти в вашей системе тратится впустую.
Имея это в виду, C # выделяет память, используя стратегию, совершенно отличную от C ++, так что более крупные порции выделяются и освобождаются реже.
Тем не менее, 40 кажется немного высоким. Я привык к чему-то ближе к 10-14Мб для очень простых консольных приложений. Может быть, есть форма, принимающая оперативную память, или, может быть, я использую другую версию фреймворка (2.0).