4.19 hot reload crash: "ClassAddReferencedObjects != NULL"

I added some new C++ classes to my project yesterday, and after working on them for several hours, I started encountering a crash that occurs every time I hot reload. It doesn’t matter if I compile from VS or the editor - if the compile succeeds, it crashes every time and I get the message below. If I restart the editor, it will use the changes from the crash-causing compile without any issues. So I can still work on the project, I just have to restart the editor every time I want to compile which is killing my productivity. I’ve tried all the usual solutions, including restarting my PC and deleting binaries/intermediate/saved/.sln/.vs several times. I have also removed all of the new code that I added yesterday, but the problem persists. I attached my dxdiag. Please let me know what I need to do to fix this. Thanks.

Assertion failed: ClassAddReferencedObjects != NULL [File:D:\Build++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\GarbageCollection.cpp] [Line: 2091]

UE4Editor_Core!FDebug::AssertFailed() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:419]
UE4Editor_CoreUObject!UClass::AssembleReferenceTokenStream() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:2092]
UE4Editor_CoreUObject!UClass::AssembleReferenceTokenStreams() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4205]
UE4Editor_HotReload!FHotReloadModule::ReinstanceClasses() [d:\build++ue4+release-4.19+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1252]
UE4Editor_HotReload!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(void)>::ExecuteIfSafe() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:503]
UE4Editor_CoreUObject!TBaseMulticastDelegate::Broadcast() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_CoreUObject!UClassReplaceHotReloadClasses() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:775]
UE4Editor_CoreUObject!ProcessNewlyLoadedUObjects() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:900]
UE4Editor_CoreUObject!TBaseStaticDelegateInstance::ExecuteIfSafe() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:788]
UE4Editor_Core!TBaseMulticastDelegate::Broadcast() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_Core!FModuleManager::LoadModuleWithFailureReason() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:487]
UE4Editor_Core!FModuleManager::LoadModule() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:338]
UE4Editor_HotReload!FHotReloadModule::DoHotReloadInternal() [d:\build++ue4+release-4.19+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:811]
UE4Editor_HotReload!FHotReloadModule::DoHotReloadFromIDE() [d:\build++ue4+release-4.19+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1542]
UE4Editor_HotReload!FHotReloadModule::Tick() [d:\build++ue4+release-4.19+compile\sync\engine\source\developer\hotreload\private\hotreload.cpp:1486]
UE4Editor_Core!FTicker::Tick() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\containers\ticker.cpp:82]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3505]
UE4Editor!GuardedMain() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

I also tried reinstalling UE4 4.19 and updating Visual Studio, neither of which helped. I upgraded from 4.18 to 4.19 a few weeks ago and haven’t had any issues with it until now. I could not reproduce the issue in a new C++ project. I suspect the issue is with my code or project but I have no idea how to fix it.

I’ve also tried hot reloading while on a new, empty map.

In case anyone finds this thread, the problem is that I accidentally made one of my classes derive from UClass rather than UObject.