I would start by disabling all multi-processing and multi-threading, if it’s used in your current script.
If that doesn’t help, check your memory usage and make sure your are not close to running our of memory.
E.g. if you are using the CPU and have a data leak (e.g. by storing the computation graph), your swap might be used, which might look like a hang, but is indeed just slow execution.
Recently we had a potential hang in this forum, where the validation loop was executed after a certain number of training iterations, and was unfortunately slow and didn’t print out anything, so that it again looked like a hang.