This took me a bit to grok but I think I got it and I believe it matches how Rx describes it:

> The CurrentThreadScheduler (by accessing the static CurrentThread property) will schedule actions to be performed on the thread that makes the original call. The action is not executed immediately, but is placed in a queue and only executed after the current action is complete.

http://msdn.microsoft.com/en-us/library/hh242963(v=vs.103).aspx

This example also helped me: http://www.introtorx.com/content/v1.0.10621.0/15_SchedulingAndThreading.html#Current

It looks like you might have gotten the unit test from there ... so I think this behaves correctly if I'm understanding it right.

From what I can tell this scheduler is useful when doing nested calls (like the `repeat` operator) to be a "trampoline" and allow recursion without overflowing the stack ... correct?