Silly mistake: I was creating a new shell for each line of the script
var shell = PowerShell.Create();
So, in the second line, after do "Import-Module Azure", this second shell didn't have access to the Azure commands. I get this thanks to @Rick for introduce me the $error, however could get working this in C#, what I did instead is:
if (shell.Streams.Error.Count > 0)
{
for (int i = 0; i < shell.Streams.Error.Count; i++)
{
ResultBox.Text += "Error: " + shell.Streams.Error[i] + "\r\n";
}
}