I am not sure why exactly FClassFinder is only useable in constructor, but think it’s for performance.
If you look inside ConstructorHelpers class, you’ll see, that internally it uses StaticLoadClass function.
You can use it throughr LoadClass:
Using the following to load and play a line of dialog on demand. This function is in the PlayerController.
FString soundCuePath; // you'll need the path to the sound cue
USoundCue* chatSound = Cast<USoundCue>(StaticLoadObject(USoundCue::StaticClass(), NULL, *soundCuePath));
if (chatSound)
{
ClientPlaySound(chatSound);
}