При написании кода на стороне сервера вам необходимо явно прекратить выполнение после отправки заголовку "Location:..." клиенту, или ваш код будет продолжать выполняться в фоновом режиме.
Но как насчет изменения window.location на стороне клиента script? Означает ли это немедленное прекращение выполнения текущего script или оно зависит от программиста, чтобы убедиться, что любой код, расположенный после этого вызова, не достиг?