The function LoopStart(string firstCall) should look like below:
public void LoopStart(string firstCall)
{
mockTContainer.ExpectAndReturn(firstCall, mockIEnumerable.Object as IEnumerable<TContainer>,typeof(TContainer));
mockIEnumerable.ExpectAndReturn("GetEnumerator", mockIEnumerator.Object as IEnumerator<TContainer>);
} // Start
I was missing the typeof(TContainer)); in the ExpectAndReturn call.