TSharedRef for interface

I want to have a TMap of interfaces, but I want them to be garbage collected when nobody is referencing them.

If I use TMap<int32,TWeakPtr<IMyType>> it can be garbage collected, but TSharedRef can’t be an interface.

if I use TMap<int32,TScriptInterface<IMyType>> can’t be garbage collected.
If I use TMap<int32, IMyType*> won’t compile.

Is there anyway to use TWeakPtr with Interfaces?

Cheers,