I think there are performance implications when loading DLL's in a separate address space. You won't be able to just pass callbacks between your DLL and your app if they're not in the same address space. I don't know of any app which uses a separate address space for its plugins. Maybe it's more popular on Linux though?