O ponto de entrada normal para um manipulador é o método ProcessRequest. No entanto, você pode ter um código no construtor da classe que reúne alguns valores de instância que são caros de serem construídos.
Se você especificar Reusável como verdadeiro, o aplicativo poderá armazenar em cache a instância e reutilizá-la em outra solicitação, simplesmente chamando seu método ProcessRequest repetidamente, sem precisar reconstruí-lo a cada vez.
O aplicativo instanciará quantos manipuladores forem necessários para lidar com a carga atual.
A desvantagem é que, se o número de instâncias necessárias for maior que as instâncias atualmente presentes, elas causam mais memória a ser usada. Por outro lado, eles também podem reduzir o uso aparente de memória, pois o valor da instância sobreviverá aos ciclos do GC e não precisam ser realocados com frequência.
Outra ressalva é que você precisa ter certeza de que, no final da execução do ProcessRequest, o estado do objeto está como você deseja que outra solicitação reutilize o objeto.