Try binding using .AddDynamic() instead.
Basically, your code will look like this :
Trigger->OnComponentBeginOverlap.AddDynamic(this,&ACheckpoint::OnTriggerCheckpoint);
OnComponentBeginOverlap is a dynamic delegate, I don’t that Add() will do good with that, but I use AddDynamic plenty in my code and it works fine.
Hope this helps!
Mick