Por lo que indicas, no haga nada diferente a lo que tu haces, al menos en referencia a crear y eliminar, tanto la BBDD como la transacción como las tablas a utilizar dentro del Thread.
También debes de considerar otro tema muy importante : No puedes hacer ninguna operación con estos componentes que afecten a algo externo al Thread, m explico, no puedes intentar actualizar algo en pantalla o utilizar un dato obtenido en el thread con estos componentes,
si no es a través del método Syncronize.
Indícame por favor cómo devuelves los datos que has obtenido dentro del Thread a tu aplicación principal, y a ver si podemos aclarar algo más.