I think I found the reason why the missing modules, see: Getting a list of DLLs currently loaded in a process C#
"After CLR v4, the accepted answer will show only unmanaged assemblies."
Using Microsoft.Diagnostics.Runtime will show managed assemblies too.
Although the numbers are still different, but now I have all.