¿El objeto futuro devuelto por executeorService.submit (Runnable) tiene alguna referencia al objeto ejecutable?

Supongamos que tenemos el siguiente código:

List<Future<?>> runningTasks;
ExecutorService executor;
...
void executeTask(Runnable task){
    runningTasks.add(executor.submit(task));
}

Mis preguntas son:

HacerunningTasks mantener una referencia a latask ¿objeto?¿Cuánto tiempo lo aguanta? ¿Todavía lo mantiene después de que se complete la tarea?Para evitar pérdidas de memoria, ¿tengo que tener cuidado de eliminar el futuro que se agregó a la lista?

Respuestas a la pregunta(2)

Su respuesta a la pregunta