You might want to warn people that you are using a very weak RNG (System.Random) to generate their keys[1] and it is not safe to use this method to get a true random bitcoin private key to be used for real bitcoins. Also you are using your own defined word list to generate the "seed" which you end up computing its SHA256 only as a "secure" entropy[2]