Blender uses a concept of 'users' of datablocks. When you create a sphere (or whatever) Blender creates the object and any associated datablocks (eg, the Mesh data) and links the object to the datablocks - ie, the object is a user of that datablock.
When you delete something (eg, an object, a scene) Blender removes the deleted item but leaves the datablocks outstanding - this is why the Sphere datablocks are still outstanding in your file, but they are 'unused'.
At the point of saving your .blend file, Blender checks each datablock to see if it has any users. Any datablock without users are automatically discarded at that point - so saving your file and then re-opening it should purge those 'unused' datablocks.
This purging of 'unused' datablocks can sometimes be a problem - eg, you have have created a number of elements (eg, animations or materials) that are not currently in use in your project. Left to its own devices, Blender will identify these as 'unused' and would purge them the next time you save your project. To avoid this you can add a 'Fake User' by clicking the 'F' against the material, action, etc. or in the Outliner. This 'fake' user ensures that the datablock is never purged as it is always flagged as 'in use'.
In summary, save your file and re-open it and those datablocks should no longer exist.