UObject get deleted just after being created

Resource.cpp file :

#include "PrototypeFPS.h"
#include "Resource.h"

UResource::UResource()
{
	ValueMin = 0;
	ValueMax = 100;
	InitValue = 100;
	Regeneration = 1;

	FMath::Clamp(InitValue, ValueMin, ValueMax);

	ActualValue = InitValue;
}

void UResource::Tick(float DeltaTime)
{
	ActualValue += DeltaTime * Regeneration;
	FMath::Clamp(ActualValue, ValueMin, ValueMax);
}

bool UResource::IsTickable() const
{
	return true;
}

TStatId UResource::GetStatId() const
{
	return Super::GetStatID();
}

void UResource::AddValue(float Value)
{
	ActualValue += Value;
	FMath::Clamp(ActualValue, ValueMin, ValueMax);
}

bool UResource::IsEmpty() const
{
	return (ValueMin == ActualValue);
}

bool UResource::IsFull() const
{
	return (ValueMax == ActualValue);
}

void UResource::ResetMaxValue(float NewMax)
{
	if (InitValue == ValueMax) {
		InitValue = NewMax;
	}

	ValueMax = NewMax;

	ActualValue = InitValue;
	FMath::Clamp(ActualValue, ValueMin, ValueMax);
}