I'm thinking of using a [ConcurrentBag](http://msdn.microsoft.com/en-us/library/dd381779.aspx) in a program I'm writing, however I can't seem to find enough documentation on [TryTake](http://msdn.microsoft.com/en-us/library/dd381774.aspx). 

I understand that the method might fail, but I can't find an explanation of the cases in which such failure might happen, and what state the collection will be left in after the failure.

If it's only in the case of another thread having already removed the item then I don't care, but what I can't really afford is the item I want to remove to still be in the collection after the call. 

Can this ever be the case?