Processes in .NET

I'll let the code speak for itself:
using Console = System.Console;
using Debug = System.Diagnostics.Debug;
using Process = System.Diagnostics.Process;
namespace Processes
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine(" -> Processes and .NET");
#region [ Current Process ]
Process current = Process.GetCurrentProcess();
Debug.Assert(current != null, "The current process can't be null.");
Debug.Assert(current.HasExited == false, "The current process should be active.");
Console.WriteLine(" -> Information about the current process: ");
Console.WriteLine(" -> Id: " + current.Id);
Console.WriteLine(" -> Name: " + current.ProcessName);
Console.WriteLine(" -> Title: " + current.MainWindowTitle);
Console.ReadLine();
#endregion
#region [ Active Processes ]
Console.WriteLine(" -> A list of all active processes: ");
Process[] activeProcesses = Process.GetProcesses();
foreach (Process process in activeProcesses)
{
Debug.Assert(process != null, "Process shouldn't be null.");
Console.WriteLine(" -> Name: " + process.ProcessName);
}
Console.ReadLine();
#endregion
#region [ Start Notepad ]
System.Console.WriteLine(" -> Starting Notepad...");
Process notepad = Process.Start("notepad.exe");
Debug.Assert(notepad != null, "Notepad shouldn't be null.");
Console.ReadLine();
#endregion
#region [ Kill Notepad ]
Console.WriteLine(" -> Killing notepad...");
Debug.Assert(notepad != null, "Notepad shouldn't be null.");
notepad.Kill();
notepad = null;
Console.ReadLine();
#endregion
Console.WriteLine(" -> All done!");
Console.ReadLine();
}
}
}