Okay, so i found out that every DLL has to have a basic entry point which looks like the following.
Same is true for .exe files and any other windows files. The code part gets this exact pointer.
FPlatformProcess::FreeDllHandle(v_dllHandle);
It just needed to be there. I created another templated base DLL and this time it works.
No need to hate stdafx.