TSA Fixes
Description: Fixes these TSA issues (no actual bugs fixed, but just changing code to make TSA happy)
To fix 1944982 and 1944973 I changed DeleteOnUnloadPtr to not use 'new' and to just use placement new to go into a fixed buffer. This required changing the rocm usage of it also (probably a separate TSA bug on that one that I don't have)
1944982 Ryan Hill [prefast:Warning]: C26426 (in onnxruntime/core/providers/cuda/tensor/cast_op.cc) Global initializer calls a non-constexpr function 'operator new' (i.22).
1944973 Ryan Hill [prefast:Warning]: C26426 (in onnxruntime/core/providers/cuda/cuda_execution_provider_info.cc) Global initializer calls a non-constexpr function 'operator new' (i.22).
1944929 Ryan Hill [prefast:Warning]: C26436 (in onnxruntime/core/providers/cuda/cuda_provider_factory.cc) The type 'struct onnxruntime::ProviderInfo_CUDA_Impl' with a virtual function needs either public virtual or protected non-virtual destructor (c.35).