Growing potatoes in delayed sequences
IrregularDelaySequence

I don't think the base IrregularDelaySequence class is needed here since it doesn't contain any members. To check if a specified instance is an irregular sequence, you could just compare its type to the RegularDelaySequence. If the type isn't RegularDelaySequence, the sequence is definitly irregular.

FibonacciDelaySequence

The logic of this class isn't quite clear for me.
I'd prefer to use an "oldschool" variables instead of the Queue: 

public class FibonacciDelaySequence : DelaySequence
{
    private TimeSpan _prev;
    private TimeSpan _cur;

    public FibonacciDelaySequence(TimeSpan firstTwo, TimeSpan firstStep, int count) : base(count)
    {
        _prev = firstTwo;
        _cur = _prev + firstStep;
    }
    protected override IEnumerable&lt;TimeSpan&gt; Generate()
    {
        yield return _prev;
        yield return _prev;
        yield return _cur;

        while (true)
        {
            var current = _prev + _cur;
            yield return current;
            _prev = _cur;
            _cur = current;
        }
    }
}