It's both a Minecraft and a connection problem.
In order to change dimensions in MCPE (to clear the chunks from the previous world), we have to send some data packets to switch the player to the overworld, then to the nether, send a bunch of empty chunks, then to the nether again and finally back to the overworld (yeah it's confusing, blame Mojang), so, if any of these packets reach your client out of order or not at all due to high latency or general instabilities, you may get stuck in the nether dimension.
It's a really technical explanation but anyways. I tried my best to explain it.