Garbage Collector Thrashing caused by FetchBatchInternal

After running in a deployed environment our Server application started consuming as much CPU as it could get its dirty little hands on. After profiling we discovered that the GC was thrashing on system timers created by the Cancellation Task in FetchBatchInternal. After looking over the code this Cancellation Task shouldn't be necessary if the MessageReceiver closes properly when asked.

We have about 600 messaging entities (queues, topics, subscriptions) in this environment.

![image](https://cloud.githubusercontent.com/assets/1627582/2911997/29fcadbc-d66d-11e3-8a6f-d7bf4e8bb7ae.png)

After running this new version the problem is not reproducible.

Additionally, the 10s timeout for getting the list of Topics or Queues has been too short for us in this version.