I'm not sure if the free space is entirely accurate. the ps4 suffers from this problem as well. if you install something to the internal hdd on the ps4, then use app2usb, transfer the game over to an external hdd and create a forwarder for it, it will still show the same amount of used space despite the game no longer being on the hdd. the free space is most likely recorded somewhere or else it would have to read over the entire hdd every time you checked the free space. it seems to record the total space, but individual games (for example) are not recorded, so when you go into information for a particular game, it has to read over all files for that particular game, which can take minutes depending on number of files/size of game. total space used on the ps3 may be in the metadata file or the xregistry, since I think this is the file that displays free space. it may be reading it from somewhere or it's simply recorded at installation (not sure).
edit: the xregistry may not be updating properly, so the space may be there. it's just not displaying the correct information. this is true of the ps4 actually. anyway, this has happened to many people.