O futuro objeto retornado por executorService.submit (Runnable) mantém alguma referência ao objeto executável?

Vamos supor que temos o seguinte código:

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

Minhas perguntas são:

FazrunningTasks mantenha uma referência aotask objeto?Quanto tempo dura? Ainda o mantém após a conclusão da tarefa?Para evitar vazamentos de memória, tenho que tomar cuidado para remover o futuro que foi adicionado à lista?

questionAnswers(2)

yourAnswerToTheQuestion