Guilherme,
em modo de debug, internamente, o código gerado é muito maior, com informações de debug, e com comportamento diferente em função disso. Em debug, é feito verificações de expressões, ponteiros nulls, etc com ASSERTs, por exemplo. Um assert disparado, o seu programa é abortado.
Provavelmente seu algoritmo está executando algum ponteiro invalido, que em modo release da erro e em modo debug está notificando voce para corrigir o erro, não deve acessar uma area de memoria protegida.
Para tentar ajuda-lo, voce precisaria copiar o codigo aonde o erro acontece.
Abraços, cox