Instancias globales de clase

Sigo intentando conocer C # (La mayoría trabajaba con C). Tengo una clase "Dispositivo" y me gustaría crear una instancia de la clase, pero también me gustaría tener acceso a las instancias de forma global porque las uso mucho en mis métodos de GUI.

 public class Device
    {
        public string Name;
        public List<string> models = new List<string>();
        public List<string> revisions = new List<string>();
        ...
    }

De alguna manera declara esto globalmente:

 Device Device1 = new Device();
 Device1.Name = "Device1";

Luego acceda a él más tarde en un método WPF:

 private void DeviceViewItem_Selected(object sender, RoutedEventArgs e)
    {
       TreeViewItem selected = (TreeViewItem)sender;

        if (selected.Name == Device1.Name)
        {
            Device1.Models.Add("something");
            Device1.Revisions.Add("something");
        }

He estado leyendo sobre Singleton Pattern, pero parece que tienes que crear una Clase Singleton, pero mi Clase "Dispositivo" se usa varias veces para crear muchos dispositivos. Tal vez simplemente no entiendo el patrón tan bien.

Respuestas a la pregunta(1)

Su respuesta a la pregunta