After calling glVertexAttribPointer to associate data of the currently bound vertex array with data from the currently bound GL_ARRAY_BUFFER, I mentioned that I can simply delete the used buffer without it affecting the rendering.
What actually happens with the data within the buffer when calling glVertexAttribPointer? It seems like the data from the buffer actually get's copied into another memory location that the vertex array uses.