So I really don't like this class, and that's mostly because it is based on System.Random.
System.Random is a fine tool for random number generation, but it doesn't offer any of the advantages of perlin/simplex noise. In particular, it is not continuous, whereas perlin/simplex noise is continuous even in its first derivative. This has a huge effect on the quality of generated worlds, and will become very evident if you ever implement per-pixel lighting.
System.Random also comes with a number of other disadvantages. Chief among them is that it explicitly isn't guaranteed deterministic between .Net releases (or platforms) - there is a good chance that you will run your program on a different version of .Net, or a different machine, and you will get a completely different procedural world from the same seed value.
Given that the OP already has a working simplex noise generator (I too use an implementation derived from Gustavson's code), I'd strongly suggest he stick with it.
That's agreeable, it seems that his issues lie in the implementation/use of the noise generator.
I've tried generating a 1D heightmap for a base ground area, and it didn't look very good. What I recommend is that you generate a 2D noise map, then have a gradient influence it.
Here's what I used when I was making a similar game:
In basic pseudocode implementation terms, you want to generate an array as big as your 2D noise-generated map, but with a gradient, where the bottom-most row starts at 1.0, and interpolates to 0.0 at the top row. You then loop through each value on the gradient map, and multiply the value of the cell respective to the noise map. When generating the tiles in your world you simply want to read the final result's map and only create tiles on cells that have a height value above 0.5 or something around there. That's how I did mine, and here's a screencap of the result.
You can also increase or dampen the amount the gradient influences the noisemap for some really interesting terrain.
After generating a map a few times, swiftcoder's post is really proving to be true. I generated worlds about 20 times and they didn't vary very much, and sometimes they were nearly identical. Strange.