When the function UDataTableFunctionLibrary::FillDataTableFromCSVString() is used from Editor Utility Blueprints or Python Scripts, and the contents of the affected Data Table are currently being viewed in the Data Table Editor, the engine may crash or display garbage values. This does not happen with the similar function UDataTableFunctionLibrary::FillDataTableFromCSVFile().
The reason appears to be that UDataTableFunctionLibrary::FillDataTableFromCSVString() calls UCSVImportFactory::FactoryCreateText() directly, which in turn discards the old UDataTable and creates a new one in its place, without properly notifying any open Editor windows. On the other hand, UDataTableFunctionLibrary::FillDataTableFromCSVFile() wraps the call to FactoryCreateText() inside the pair FDataTableEditorUtils::BroadcastPreChange() and FDataTableEditorUtils::BroadcastPostChange(), which seems to handle the situation correctly (not 100% verified).
(Step 1)
(Step 2)
(Step 3)
(Step 4)
(Step 5)
(Step 6)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-204419 in the post.