Using `ToList()` here would avoid an extra array allocation for the final result.

Based on usage of `parentObjectPtrs.Count()` below, should `DisposableEnumerable` be converted to `DisposableCollection` to avoid an extra enumeration?