Se hace de esta forma porque los punteros nativos de C++ son difíciles de seguir por el recolector de basura, así que se debe manejar de manera diferente.