The following code generates two CA2000 warnings (among others, but that's not the point).
public sealed class Item: IDisposable
{
    public void Dispose() {}
}
public sealed class ItemContainer
{
    public void Add(Item item)
    {
    }
}
public sealed class Test: IDisposable
{
    private ICollection<Item> itemCollection;
    private ItemContainer itemContainer;
    private void Add(Item item)
    {
        itemCollection.Add(item);
    }
    public void Initialize()
    {
        var item1 = new Item(); // no warning
        itemCollection.Add(item1);
        var item2 = new Item(); // CA2000: call Dispose on object item2
        Add(item2);
        var item3 = new Item(); // CA2000: call Dispose on object item3
        itemContainer.Add(item3);
    }
    public void Dispose() {}
}
Note that there is no warning generated for item1. It seems, Code Analysis assumes the ICollection will take responsibility of the item and eventually dispose it.
Is there a way to mark my Add methods, so that the warning goes away?
I'm looking for something similar to ValidatedNotNullAttribute for CA1062.
Edit: to make it clear: this is not my real code. In the real code, everything is properly disposed.
It's just that CA does not recognize that the call to my Add methods transfers ownership. I would like it to treat my Add methods in the same way it treats ICollection.Add.
Disposing in the same scope is not an option.