Isso realmente depende do modelo de segmentação usado pelo seu aplicativo.
- Em um cenário sequencial de encadeamento único, eu passaria o bitmap (se a construção é uma operação dispendiosa) ou a criava / destruía a cada vez. Mas você tem que criar tais objetos intensivos de memória imediatamente antes que eles sejam usados e destruí-los assim que você não precisar mais deles, se possível. Não os crie no construtor e saia por aí.
- Se estivermos prestes a inserir multithreading, você poderá criar um pool seguro de thread deles (se a construção de um bitmap for custosa em seu cenário) ou apenas criar / destruir cada vez que precisar. Mas, novamente, não crie objetos apenas por diversão. Crie-os quando precisar deles.