Очевидно, что вы не можете использовать реальную потоковую передачу с помощью модуля gpnupg, модуль gnupg всегда считывает весь вывод gnupg в память.
Таким образом, чтобы использовать реальную потоковую передачу, вам нужно будет запустить программу gpg напрямую.
Вот пример кода (без надлежащей обработки ошибок):
import subprocess
import tarfile
with open('103330-013.tar.gpg', 'r') as input_file:
gpg = subprocess.Popen(("gpg", "--decrypt", "--homedir", 'C:/Users/niels/.gnupg', '--passphrase', 'aaa'), stdin=input_file, stdout=subprocess.PIPE)
tar = tarfile.open(fileobj=gpg.stdout, mode="r|")
tar.extractall()
tar.close()