Написано же: MySQL server has gone away.
Такое бывает, когда сначала выполняется какой-то очень долгий\тупой код, а потом идет попытка обращения к БД.
Так вот за время тупняка соединение с БД может по таймауту оборваться (по-умолчанию таймаут примерно 60 сек вроде).
Идеальным решением будет не допускать тормозящего кода.
А если это не получается, то после тупого кода можно сделать реконнект к БД примерно таким кодом:
$cn = \Bitrix\Main\Application::getConnection();
$cn->disconnect();
$cn->connect();
if(is_object($GLOBALS['DB']))
{
$dbHost = $GLOBALS['DB']->DBHost;
$dbName = $GLOBALS['DB']->DBName;
$dbLogin = $GLOBALS['DB']->DBLogin;
$dbPassword = $GLOBALS['DB']->DBPassword;
$GLOBALS['DB']->Disconnect();
$GLOBALS['DB']->Connect($dbHost, $dbName, $dbLogin, $dbPassword);
}