Размер сам по себе не проблема. Если бы вы инициализировали один объект для каждого запроса, вы бы записали намного больше памяти. Проблема в доступе.
Если у вас большое количество запросов, конкурирующих за один и тот же объект, вам нужно измерить время доступа к этому объекту и его реализацию. Имейте в виду, что для объектов данных их может прочитать более одного потока. Однако я понимаю, что когда вызывается функция объекта, он блокирует этот объект для других потоков, пока функция не вернется.
Кроме того, если объект поддерживает состояние, вам нужно подумать, что делать, когда несколько потоков получают / устанавливают эти данные. Будете ли вы в конечном итоге с условиями гонки?
Вы можете рассмотреть возможность обработки этого объекта в области сеанса, чтобы он создавался только для пользователя (который, скорее всего, сделает только один или два одновременных запроса).