Hey HInoue-
It’s likely that the call to the Super of BeginDestory is what is causing your issue. The Super is what calls the parent implementation of BeginDestory which is where everything is marked for delete and cleanup so when it reached the DepopulateRoom() call it no longer knows what to call it on. Making your call to DepopulateRoom() before calling Super::BeginDestroy() should help.
Cheers