I have been fighting this attack for days. The only way I can keep my node running is to restart it every hour or so, even with the block list. I have conceded defeat and shut down. Hoping for a fix in an updated release, but the effectiveness of this attack is certainly worrisome.
Just built a script in crontab to kill all hourly, update the tor list from github and restart all again

My script seems to work, which kills all monerod processes every hour and restarts that every hour and minute
1. I built a srcipt that is called every hour and one minute in the crontab
#!/bin/bash
rm -fR torbulkexitlist
wget https://check.torproject.org/torbulkexitlist
cd /home/user/monero-x86_64-linux-gnu-v0.17.1.7
sudo -u user ./monerod --detach --rpc-bind-ip 0.0.0.0 --confirm-external-bind --hide-my-port --ban-list /home/user/torbulkexitlist
exit 0
2. in /etc/crontab i added two lines
0 * * * * root killall -15 monerod
1 * * * * user /home/user/monerorestart.bash &>/dev/null
Still after 45min my memory is more or less exhausted, so the ban list does not seem to do what it is supposed to, but it's worth the try
EDIT: Updated the download of TOR exit relays with the TOR own list -->
https://check.torproject.org/torbulkexitlistEDIT 1: Changed killall -9 to killall -15, not to hurt the DB more than i have to do
Doing good today, after 50 minutes online in the cycle my memory is looking good and also the CPU's are working on normal level