Muchísimas gracias a los dos!!! he probado lo de gc.collect y también a igualar a nothing adaptadores y otros objetos y me sigue pasando. Se os ocurre alguna otra solución?
el uso de cpu varía según momentos en una serie de este estilo: 3%, 5%, 20%, 3%, 10%, 50%, 3%. 10%, 100% . El pico (100%) tan sólo dura unos pocos segundos, pero en las primeras ejecuciones no se alcanza, si no que va ocurriendo cuando la aplicación ya lleva unos 3 ó 4 minutos funcionando y de ahí en adelante ya siempre se alcanza. Supongo que es importante añadir que hay un método que se ejecuta continuamente a menos que se pulse un botón. Si sirve de ayuda puedo poner el código.
Gracias por vuestra ayuda!!!