You just make a TMap UPROPERTY, as above, without making it a pointer.
Then the TMap is allocated as part of the component, which is a garbage collected UObject.
And then, the TMap itself manages allocating and de-allocating your structures. It’ll allocate a new Fattribute_data when needed, and delete it when it’s not needed.
TMap, TArray, their jobs are to make developing easier sooo I always just let them do that.