The grpc-labview DLL lets C++ exceptions escape from exported C functions. LabVIEW probably displays the "LabVIEW: An exception occurred within the external code called by a Call Library Node. This might have corrupted LabVIEW's memory. Save any work to a new location..." dialog when this happens.
The correct behavior for C functions exported from DLLs written in C++ is to put a try/catch at the top level of each exported entry point which converts C++ exceptions to C error codes.
This approach can also be used to single-source more of the error handling, as described in #437
Originally posted by @bkeryan in #436 (comment)
AB#3117567
AB#3215734