- Titile, Artist, Album, Year, Track, Comments and Genre with up to 1KB each (+ other optional fields).
- Shared files come along with a Hash, a TigerTree, a list of alternate locations, statistics etc etc. That sums up!
- Memory leaks are impossible with Java!
- You should also know that each download in the queue allocates at least 2+2n Threads (n=number of additional sources).
- The JVM has a initial Heap size limit. You can rise it with the -Xms and -Xmx arguments. Google will tell how...
- Files smaller than 1MB are always send in one piece (they're not split up into smaller pieces aka PFS).
- and so on...
You seem to have a good tech. background but you speculate too much.
For beginners:
http://www.gnufu.net
For experts:
http://groups.yahoo.com/group/the_gdf
And here you can see how LimeWire works:
http://www.limewire.org