I have been downloading a large torrent today (several GBs). During doing so, I have noticed what might be the reason for the Shareaza GUI hanging so frequently while heavily downloading: Everything was fine until I started to move some 400 GB from one drive to an other. Afterwards, it was fine again, too.
This is why I suspect the hanging comes from Shareaza requesting read/write accesses on the HDD and waiting for them. Like this, some thread(s) necessary for GUI refreshing is (are) locked until a read/write access is granted - freezing the GUI meanwhile.
The reason why the problems are bigger with BitTorrents than with other files of similar size is that torrents are splitted into much more small fragments while downloading; fragments that need to be written on different places of the disk - and thus requiring more read/write accesses to be granted.
Maybe we should implement download caching of some sort to reduce the number of read/write accesses necessary. Shareaza would store newly downloaded data in RAM and only synchronize with the files on disk each - for example - 20 seconds.
EDIT: Moved to development forum... thought it might be better located there...