The UObjectLibrary::RemoveObject function has mixed up logic inside of it that causes it to remove objects from the incorrect array. It currently removes from the Objects array if bUseWeakReferences is true and removes from the WeakObjects array if it is false. It should do the opposite of this.
This was also the case in 4.13
No reproduction - Code issue
Head over to the existing Questions & Answers thread and let us know what's up.