I felt I would report this here in case this is an engine bug. I had this same issue and upon debugging I found it was triggered by a circular dependency.
I’m assuming the engine allows circular dependencies to some degree, so I think it may be an engine bug. Specifically the crash occurs inside the LoadPackage() call you are refering too above, but the same package gets loaded recursively again as the result of Linker->LoadAllObjects(), and Linker->LinkerRoot is set to NULL at some point as the result of this.
I only noticed this when running with cooked data over a real network (it may also be a race condition kind of situation where if the package loads normally with the map because it is required in the map it is fine). It happened when the offending package is told to load as the result of replication of an object which needs the package (and LoadPackage is called from FNetGUIDCache::GetObjectFromNetGUID).
Not sure if the problem is on my end or an engine bug, but I felt I would share what I understand as best as I understand it in case it is an engine bug.
Note that I am running 4.4, so if it is an engine bug, it is there in the latest version.