After examining the session code, it appears that an IP change beyond the first octet will result in the user being logged out. So if their cellular data connection assigns them a sufficiently different IP address, or if they move between networks (e.g. between local wifi and cellular data), then that can result in them being logged out.
The fix is really to tell them to check the "Stay logged in" box. Then they will be automatically logged in again upon being logged out.