In cases of forked processes, you may see results for memory usage which are inflated. This is due to the fact that forking causes memory to be marked copy on write on many systems. Each process reports all the memory that it is using, even if it is currently shared.
I doubt that changing to threading will reduce your memory usage. If anything, based on the implementation details of ithreads, chances are it will increase memory usage.