Hola; ¿Que sistema operativo estás usando?
Al menos en mi Windows 7 (no se si en versiones anteriores) en el "administrador de tareas" viene un botón para llamar al administrador de recursos, con el que se puede visualizar como se va comiendo la memoria "privada" del programa.
Creo que estos problemas lo dan las clases Tcolor y otras, como TFont; No se muy bien porque, pero en
un truco de Ian Marteens hablaba de liberar memoria que no se está usando gracias a "SetProcessWorkingSetSize".
He probado a poner en cada llamada del timer esta instrucción al iniciar el método y al cabo de un rato he obtenido estos valores en el medidor de recursos:
Mem. privada consumida por ejecutable sin liberación de memoria: 2.870 Kb
Mem. privada consumida por ejecutable CON liberación de memoria: 380 Kb
La instrucción metida al inicio del Ontimer ha sido la siguiente
Código Delphi
[-]SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
Espero que te sirva
Un saludo