MLVFS is multithreaded, but not all algorithms can be parallelized (easily or at all). The fix pattern noise algorithm is an experimental algorithm written by a1ex. The implementation as written by a1ex is not easily parallelizable (or maybe not at all, IDK) per frame. However, multiple frames can be processed at a time, but you have to request them. So for example if you ask for one DNG and then wait til it's done to ask for the next one, you will end up waiting. Most programs that access files won't behave like that, b/c it's extremely uncommon for file access to be CPU bound.
If the real problem is that the algorithm is too slow, there are all sorts of optimization avenues to explore, not just multi-threading (vectorization, gpu/hardware acceleration, etc). But you will have to understand and analyze the code and algorithm to do any of this. Any optimization or other improvements to the implementation are welcome contributions.