Precalienta el horno a 350 °F (180 °C). Engrasa y forra una bandeja para hornear (de unos 30x40 cm) con papel pergamino.
En un tazón grande, bate el puré de calabaza, el azúcar y el aceite. Agrega los huevos uno a uno, batiendo bien después de cada adición.
En otro tazón, mezcla la harina, el polvo de hornear, el bicarbonato, la canela, la nuez moscada y la sal. Agrega esta mezcla a los ingredientes húmedos y mezcla hasta que esté bien incorporado.
Vierte la mezcla en la bandeja con papel de hornear y extiéndela de manera uniforme. Hornea durante 15-20 minutos, o hasta que un palillo insertado en el centro salga limpio.
Una vez horneado, saca el bizcocho del horno y deja enfriar en la bandeja durante 5 minutos. Luego, voltea el bizcocho sobre un paño limpio espolvoreado con azúcar, retira el papel pergamino y enróllalo suavemente con el paño, formando un rollo. Deja enfriar completamente.
En un tazón, bate el queso crema, el azúcar glas y el extracto de vainilla hasta obtener una mezcla suave. Si está demasiado espesa, agrega un poco de leche.
Una vez que el bizcocho esté completamente frío, desenrolla con cuidado.
Unta el relleno de queso crema sobre el bizcocho de manera uniforme.
Enrolla nuevamente el bizcocho, esta vez sin el paño. Envuelve en papel film y refrigera durante al menos 1 hora.
Retira el papel film, espolvorea con azúcar glas y, si lo deseas, añade nueces picadas por encima. Corta en rodajas y sirve.