Pergunta boba qual seria a pratica correta

Pessoal tenho um código de 3 camadas a primeira (de baixo para cima) é uma classe item qualquer, a segunda desenha uma box com o item dentro e a terceira é um controle que controla as caixas e os itens .

Atualmente faço assim: cada Box tem seu próprio Objeto Pintura,que desenha sua caixa, mas notei que dá para dividir uma Pintura entre todas as box economizando memória, mas aumentando um pouco do processo pois a cada Upload/Atualizar dos objetos a pintura terá que mudar seu eixo X. Y de lugar. Daí fiquei meio na duvida, qual seria a melhor pratica de programação nesse caso? Usar uma pintura que é compartilhado por todos, ou cada um ter sua pintura?

Se entendi bem sua dúvida acredito que manter a mesma referencia da pintura em todas as box vai ajudar em memoria e processamento pois vc nao vai precisar ficar alterando nas outras box depois.
Se cada pintura for individual e modificadas separadamente acredito que seja melhor deixar cada box criar e gerenciar suas proprias pinturas.
Outro fator a se observar e que o fato todas possuirem a mesma referencia e poderem alterar o mesmo objeto de Pintura pode criar um problema de concorrencia ao manipular o objeto.

Isso de manter o mesmo Objeto Pintura para cada caixa é um padrao de projeto “Flyweight”.