Единственное решение - форкать и править под многопоточность биндинг.
Разработчики более 3 лет подобные issue закрывают, как невозможные.
Это косяк разработчиков нативного модуля.
Данные модуля должны быть привязаны к контексту, в котором они создаются (NodeJS Context-aware addon)
И должны очищаться, когда контекст уничтожается, через спец. хук ноды
Разработчики сего аддона либо не знают этого, либо забивают в пользу поддержки старых версий ноды.
worker_thread, child_process используют собственные экземпляры Ноды для каждого потока.
Если нативный модуль не может это использовать, то это проблема разработчика нативного модуля.
Я вот ни в зуб ногой в синтаксисе C/C++, но смог нативную либу для кодирования изображений в h264 заставить работать как надо и в нодовских потоках (8-50 микросекунд на один 1080p фрейм).
Моего терпения переписывать за другими биндинг ещё и для этого модуля не хватит, склонирую модуль или буду кидаться данными из отдельного процесса (если совсем убого по роизводительности придётся лезть в C/C++ и кривыми руками говнокодить модуль, чтобы был производительнее, т.к. гуру C/C++ в опенсорс редко лезут без спонсоров).