Timer triggerBatchTimer = new Timer(() => yourBatchBlock.TriggerBatch()); TransformBlock timeoutTransformBlock = new TransformBlock((value) => { triggerBatchTimer.Change(5000, Timeout.Infinite); return value; }); timeoutTransformBlock.LinkTo(yourBatchBlock); yourBufferBlock.LinkTo(timeoutTransformBlock);