For those who are encountering this issue, are you testing with a timeout to the request? When I specify a timeout the request does return for me.
It seems like the low memory emulation may not be working properly and the system never thinks the client has enough memory. With real clients prefetch requests will not send new regions when the client is memory constrained, but eventually the memory should recover and the prefetch will complete successfully. It appears the Studio memory emulation might always be having the client in memory constrained mode.
In my post I described it occurring in both situations (regardless of timeout) - I have not had the time to test personally whether or not this behaviour has changed but I will update this when I have: to my most recent knowledge, the behaviour has not changed.
I seem to still experience the issue even with a timeout - I am using the Player.ReplicationFocus property in my game, not sure if this could be related?
We recommend using the timeout parameter with this function to ensure that the request will cancel if the client has insufficient memory. Please note that the timeout is in seconds.