Using NativeList<T> for local scratch buffers?

Hi, we loop through a ton of deserialized data that’s sent down from our server.
We use a variety of locally-declared List<> instances to serve as scratch buffers during this processing.
To reduce the impact on heap fragmentation, is it generally OK to convert those to use NativeList?

One such function uses a locally allocated container of type Dictionary<string,List> (T is a custom reference type). I know that NativeList is a struct. Thus it seems like a bad idea to put a NativeList in a container as I can conceivably get two NativeList instances that point to the same internal data?