Execute an async function per stream data event, pausing the stream when a concurrency limit is saturated