¿Cómo escribir un servicio WCF con almacenamiento persistente en memoria?

Escribí un servicio WCF, pero los datos almacenados en la implementación del Servicio no persisten entre las llamadas, ni siquiera si se almacenan en una variable estática. ¿Que puedo hacer?

La implementación del servicio es la siguiente:

public class Storage : IStorage
{
    protected static object[] _data;

    #region IStorage Members

    public void Insert(object[] data)
    {
        lock (_data)
        {
             _data = _data.Concat(data).ToArray();
        }
    }

    public object[] SelectAll()
    {
        lock (_data)
        {
            return (object[])_data.Clone();
        }
    }

    #endregion
}

El host de servicio es una aplicación de consola:

static void Main(string[] args)
{
    ServiceHost serviceHost =
       new ServiceHost(typeof(TimeSpanStorage));
    serviceHost.Open();
    Console.WriteLine("Service running.  Please 'Enter' to exit...");
    Console.ReadLine();
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta