As to your 2nd question think link explains it.
http://www.gnutellaforums.com/showth...threadid=27036
As to your 1st question that may be caused by several different reasons. For example The host qued your request for you to u/l from them (Waiting in line), but is busy u/l to others. Then the host disconnects (goes offline). That is why you get the waiting for sources. You have to wait for that Host to come back online again
That is one example there are many other reasons this may happen.