I had this exact issue and solved it by disabling "Mobile Data Always Active" in the Developer Options on my LineageOS phone.
After this change, my connection has been completely stable. I'm not sure of the exact reason it works, but it was the definitive solution after days of random freezes. I previously had a few reliable ways to trigger the problem, and none of them can reproduce the freeze anymore. I really hope that this fix is the final solution.
For reference, I'm using the official WireGuard Android app.
A few other settings in my configuration:
As a final measure, I rooted my phone to install the WireGuard kernel module. However, disabling the "Mobile Data Always Active" setting was the key fix that resolved the freezing.
				
			After this change, my connection has been completely stable. I'm not sure of the exact reason it works, but it was the definitive solution after days of random freezes. I previously had a few reliable ways to trigger the problem, and none of them can reproduce the freeze anymore. I really hope that this fix is the final solution.
For reference, I'm using the official WireGuard Android app.
A few other settings in my configuration:
- In the Android app's settings, "Allow background usage" is enabled.
 - Tap on that text (not just the toggle) to open advanced battery options and set it to "Unrestricted".
 - Persistent keepalive is not set on my phone's peer configuration.
 - My OPNsense router has a static IP.
 - To account for my ISP's PPPoE overhead, I also set the MTU on my WireGuard server to 1412.
 
As a final measure, I rooted my phone to install the WireGuard kernel module. However, disabling the "Mobile Data Always Active" setting was the key fix that resolved the freezing.
"