Debugging conundrum with a problem fixed by enabling WP_DEBUG

There are two aspects to WP_DEBUG:

  1. It configures PHP runtime to desired state, this is handled once in wp_debug_mode().
  2. It is used as a state flag, that can be arbitrarily checked by code. Widely done both in core and more so in third party code.

It is hard to make a guess how either of these can lead specific install in (or out) of error 500. Your main issue is mostly lack of information of what precisely that error is, not its interaction with debug mode.

I would shake your hosting support (or other appropriate party) to provide more information about error 500. That might require more serious access to server and maybe even reconfiguring Apache. Out of WordPress land.