.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Reactive.Linq;

public class Program
{
    public static void Main()
    {
        Observable
            .Generate(0, _ => true, x => x, x => x, _ => TimeSpan.FromMilliseconds(10))
            .Select(_ => Observable
                .Return(DateTime.Now)
                .Do(d => Console.WriteLine(
                    "Then: {0:HH:mm:ss.fff}, " +
                    "Now: {1:HH:mm:ss.fff}, " +
                    "TotalMemory: {2:#,0} bytes", d, DateTime.Now, GC.GetTotalMemory(true)))
                .Delay(TimeSpan.FromMilliseconds(1000)))
            .Merge(maxConcurrent: 1)
            .Take(9)
			.Wait();
    }
}
;