Обычной точкой входа для обработчика является метод ProcessRequest. Однако у вас может быть код в конструкторе класса, который собирает некоторые значения экземпляров, которые дорого построить.
Если вы зададите значение Reusable, равное true, приложение сможет кэшировать экземпляр и повторно использовать его в другом запросе, просто вызывая его метод ProcessRequest снова и снова без необходимости каждый раз восстанавливать его.
Приложение будет создавать столько обработчиков, сколько необходимо для обработки текущей нагрузки.
Недостатком является то, что если необходимое количество экземпляров больше, чем имеющиеся в настоящее время экземпляры, они приводят к увеличению объема используемой памяти. И наоборот, они также могут уменьшить видимое использование памяти, поскольку их значение экземпляра выдержит циклы GC и не требует частого перераспределения.
Еще одно предостережение: вы должны быть уверены, что в конце выполнения ProcessRequest состояние объекта будет таким, каким вы хотели бы, чтобы другой запрос повторно использовал объект.