How thread safe is this class?
First item I see is:

private static object _lockDependenciesManagement;


...should be:  

private static readonly object _lockDependenciesManagement;  


I don't see any reason this should/would change.

With the possibility of having Retrievers overwritten while being used, you should return a copy of the collection instead:

//    fields that could be altered while in use if made public
static IEnumerable&lt;IEntryRetriever&gt; _retrievers { get; private set; }
static IEnumerable&lt;IEntryDepositor&gt; _depositors { get; private set; }

public static IEnumerable&lt;IEntryRetriever&gt; Retrievers
{
    get
    {
        //    return copy of _retrievers
        lock (_lockDependenciesManagement)
        { return _retrievers.ToList(); }
    }
}


Your consumers can now manipulate work from it's own copy of the _retrievers collection. Handle _depositors in the same manner ...I think these steps will make the collections safer to use.