Вам нужно позвонить Complete
, когда вы закончите отправку данных в блоки.
Это:
await items.Completion;
Чтобы дождаться завершения всего потока, действительно должно быть:
items.Complete()
await insertItems.Completion;
Наконец, вы можете связать блок для распространения завершения, поэтому ContinueWith
в этом случае не требуется.
Это:
items.Completion.ContinueWith(delegate { insertItems.Complete(); }).ConfigureAwait(false);
Может быть заменено на:
items.LinkTo(insertItems, new DataflowLinkOptions() { PropagateCompletion = true });