Nvm решение найдено. Кажется, что TF будет удерживать ресурсы, пока процесс не завершится (поправьте меня, если я ошибся). Итак, как я могу решить проблему, это обернуть сеанс / оценщик и запустить его внутри другого Процесса:
def core_run(args, kwargs):
""" running the TF """
...
return results
from multiprocessing import Pool
# preparing args and kwargs
with Pool(1) as p:
results = p.apply(core, args, kwargs)
Таким образом, TF придется освободить ресурсы, поскольку процесс, в котором он находится, достигнет конца