I was getting an infinite loop in OpenSTA as well yesterday. It did not run out of memory, but I gave up waiting after four hours. The yosys.log was huge with lots of complaints about loops and breaking loops. Since I am doing an asynchronous design that does have loops within loops I thought it was normal. But after breaking loops at the external (I didn't want to leave them dangling, but now I have) pins OpenSTA now runs in seconds