AES256 Implementation
The code is simple to understand and does what it needs to do. Just some remarks:


Whenever you use the ECB cipher mode, you must justify in written form why you use it. This is because this cipher mode can reveal patterns in your plain text.
Converting the encrypted bytes to an UTF-8 string doesn't make sense. You should better print them in hex or base64.
Your code contains duplicates. You could extract that code into a method:

private AesCryptoServiceProvider CreateProvider(byte[] key) {
    return new AesCryptoServiceProvider {
        KeySize = 256,
        BlockSize = 128,
        Key = key,
        Padding = PaddingMode.PKCS7,
        Mode = CipherMode.ECB
    };
}

You made the Encrypt method public, but Decode is private. I don't see a reason for this asymmetry.