in questObjective.h, you are using:
void SetQuestObjective(FString objectiveName = "Test Objective");
usually when i see an FString set by a literal string, its surrounded by TEXT() for some reason.
void SetQuestObjective(FString objectiveName = FString(TEXT("Test Objective")));
not sure if that is related to your memory problem, but it is near the area that the out of memory error is complaining about. maybe every time you are creating one of these objectives, it is converting the ANSI text to TCHAR which is less efficient.
also this is related to the other discussion of structs replacing objects for state data and small common parts:
do you only run out of memory after adding quests to the list?
im not too familiar with the profiler tools, but this video might help you debug your problem:
https://docs.unrealengine.com/latest/INT/Engine/Performance/