A grandes razgos el copilar en modo debug o release radica de que en la primera es precisamente cuando estás probando tu app paso a paso para precisamente debugear tu code además de que se crea por default un archivo con extension .pdb ( programmer database ) que mapea del MSIL al codigo fuente, por otra parte en modo
release es cuando tu app está lista para liberarla y será la que coloques en tu server de aplicacion además de que en éste modo es para tener un mejor performance y por razónes tambien de seguridad
Y como comentario adicional cuando liberes tu aplicacion solo le mandas al server de app las dll´s que necesitas ya no necesitas colocar los archivos con extension .vb, .cs, .vbproj, .suo, .sln, .webinfo, etc.
Es una idea general.
Espero haber sido claro.
Salu2