This will eventually stop…
C#, 94 85 bytes

My first answer!

using System;s=&gt;{var r=new Random();for(var i=2;r.Next(i++)&gt;0;)Console.Write(s+" ");}


Previous attempt (I liked that goto):

using System;s=&gt;{var i=2;var r=new Random();a:if(r.Next(i++)&gt;0){Console.Write(s+" ");goto a;}}


Ungolfed:

using System;
class P
{
    static void Main()
    {
        Action&lt;string&gt; f = s =&gt;
        {
            var r = new Random();
            for (var i = 2; r.Next(i++) &gt; 0;) Console.Write(s + " ");
        };

        f("test");

        Console.ReadKey();
    }
}


Note: in C# the Random.Next(N) method returns a nonnegative integer in the [0, N-1] range, so we can just check that the number returned is greater than 0.