Sorry Lumik I apparently missed the point of replying to a topic to actually answer a question.
So I'm basically ok to load very small sfx sounds with your main asset manager, keeping them loaded in memory (sounds for ui, or particle effects and so on) but for long sounds like music, voice... I would load/unload when necessary.
I'm not bothered by delays when that doesn't hurt the experience so much, so I would just create the sound object, and play when needed - but as henke37 suggest you could still call load() a bit before playing it so you don't get that delay.
And then free up that memory with unload() later.
If you want the AssetManager to "manage" your sounds (get sound objects by name) then what I suggested was to add sounds to its lists of sounds after you loaded everything you needed so they are in the list, but they are not loaded into memory until you play them or load them manually.
what I'm saying is this :
//after you loaded your entire queue... add your big sounds
AssetManager.addSound("yourMusic", new Sound("/url/music.mp3"));
//one or two seconds before needed
AssetManager.getSound("yourMusic").play(); //or use playSound I guess...
//When you get off the screen that needed that music
the assetManager would just act as something to index your sounds by name now, not actually to load them - its a bit nicer than having to do one yourself (but you could have a simple dictionary)