но он у меня плохо работает в параллельном или многопоточном режиме использует много ОЗУ и мощностей ЦП
Именно так. Это просто нужно учитывать при расчете необходимых мощностей. В настоящее время с этим все лучше и лучше. SSD диски и мощные многоядерные CPU.
Лично у меня схема по минимальному потреблению ресурсов выглядела так. Это PhantonJS 1.8 (ныне уже не поддерживаемый) который запускался с webdrive режиме в количестве 30 штук. Вот ровно прямо программа запускалась этом количестве. Каждая копия резидентно жрала ~200-900 Мб и постоянно текла по памяти (при >1.5Гб копия жестко убивалась). Каждая копия слушала свой порт с webdrive командами. Крутилось все на, если не ошибаясь 32ГБ ОЗУ и 16 CPU. Выдавал такой кластер что-то около 10RPS.
Т.е. смотреть в сторону кластерных решений придется при более менее серьезном подходе к такой задаче. Selenium Grid в целом конечно староват. Selenoid выглядит посвежее. Смотрите в сторону готовых кластерных решений на базе этих технологий либо напиши свою обвязку. При работе по webdrive язык в принципе не важен.