Sorry, I forgot to follow up…
This could be a deadlock in Bitswap… we have been fixing some stuff that could result in your problem in the last release: 0.33.0-rc1
Can you try that one and see if the issue still persists?
The fact that it works when manually retrying (i.e. new bitswap session etc.) makes it likely that it is at least bitswap related.
If it still hangs, let it hang for 15 minutes at least and then run ipfs diag profile
while it hangs and upload the result somewhere.