This is what I've been using:
Special thanks to this thread (especially Pat Kujawa's & anunay's comments)
C# (Straight from Pat Kujawa's comment (though I made it return itself so that it chains like linqpad's version does)):
public static T Dump<T>(this T o) {
    var localUrl = Path.GetTempFileName() + ".html";
    using (var writer = LINQPad.Util.CreateXhtmlWriter(true))
    {
        writer.Write(o);
        File.WriteAllText(localUrl, writer.ToString());
    }
    Process.Start(localUrl);
    return o;
}
VB (my conversion since I needed it in a VB app):
Public Module LinqDebugging
    <System.Runtime.CompilerServices.Extension()>
    Public Function Dump(Of T)(ByVal o As T) As T
        Dim localUrl = Path.GetTempFileName() + ".html"
        Using writer = LINQPad.Util.CreateXhtmlWriter(True)
            writer.Write(o)
            File.WriteAllText(localUrl, writer.ToString())
        End Using
        Process.Start(localUrl)
        Return o
    End Function
End Module
You will need to add the linqpad executable as a reference in your project as well as System.IO and System.Diagnostics
This launches your default web browser showing the exact output that linqpad would generate.