Are you on a shared server?
There could be many reasons for a 500, but a common reason is exceeding a limit (eg: for memory allocation or CPU time) imposed by your web host. If that happens, one or all of the current processes may be killed before completion.
There could be many reasons for a 500, but a common reason is exceeding a limit (eg: for memory allocation or CPU time) imposed by your web host. If that happens, one or all of the current processes may be killed before completion.