Running a python script with heavy memory requirements
Python is by default single-threaded. Read about the Global Interpreter Lock (GIL). Although some modules with utilise multi-threading, asyncronous processing and multicore solutions, these will not take effect when you are simply loading modules and data.

Unless you are using some distributed system, or perhaps something like Tensorflow-serving, you will not be able to train/exectute your 20 LSTM models in parallel in a single Python script, so perhaps you could just load one at a time. Alternatively, just make 20 copies of the script - one for each model - then launch all 20 scripts in different terminals (or via a multi-threaded or multicore script).

Asking on StackOverflow would reach an audience that is more adept in the sorts of problems.