GPU memory Atlases and Textures

Hi, My game has a lot of PNGs and some fullscreen ( 1920x 1080 ) animations. Not all of it is shown all the time. I have created atlases and SpriteSheets. I have tried both a plist from TexturePacker and a .pac from Cocos’s auto-atlas.

During, loading, I am loading some of the assets from an assetBundle ( the atlases ). However whenever I load an atlas, it loads all its contents to the memory even before a SpriteFrame is set to a Sprite. Even before it is actually rendered.

Is this the expected behavior or am I missing something ? Even a directory load, loads all of it to memory. ( GFX Memory Texture increases ).

const bundle = assetManager.getBundle(bundleName);
if (!bundle) {
reject(Bundle not found: ${bundleName});
return;
}
bundle.load(atlasPath, SpriteAtlas, (err, atlas) => {
if (err) {
reject(err);
} else {
resolve(atlas);
}

Also, is there an efficient way to unload and reload them quickly after the 1st load?

Thanks!