Supongo que tus objetos creados en tiempo de ejecucion son Con cierto nombre independiente al predefinido por Delphi (Labels) y despues de esto con un numero consecutivo, por que no lo realizas con un ciclo e ir eliminando los objetos de esa manera, identificandolos por el nombre y despues por su numero de indice y despues liberarlo, eso es lo que mejor se me ocurre. Puedes intentar esto que solucionamos en otro post
http://www.clubdelphi.com/foros/showthread.php?t=70770