Simple Freelock collection
public bool TryAdd(T value)


A method that intentionally doesn't work when there is contention? I don't see how would that be ever useful.

internal BoxItem&lt;T&gt; Next
{
    get { return _next; }
    set { _next = value; }
}


You could have used an autoproperty here.

yield break;


Adding yield break; at the end of iterator method is the same as adding return; at te end of a normal void method: the method would work exactly the same without it.

public IEnumerable&lt;T&gt; ToEnumerable()


I don't see how would this method be useful. Especially since there already is AsEnumerable() extension method that does exactly the same thing.