I wonder how to safely delete a UObject within an FRunnable.

For someone facing a problem like this, I suggest creating a container or implement AsyncTask. AsyncTask, in particular, offers the capability to access other threads, which can be beneficial in resolving the issue.