Unfortunately btcrecover doesn't have feature to allocate memory based on available RAM. Have you tried using these parameter to prevent OOM?
--no-dupchecks --no-eta flags
Yes, I had both of those in my most current working argument listed back several posts ago
python3 seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --no-eta --tokenlist ./seedtoken.txt
Weird, i never experience OOM using those parameter even if i have less RAM than you.
It's not very important, but you might want to find out why exactly btcrecover process was killed. Try this guide
https://askubuntu.com/a/709366.