You can significantly improve the log readability by adding something like
```csharp
var type = item.GetType();
var label = type == typeof(string) || type.IsGenericType ? item.ToString() : type.Name;
```

and then logging `label` instead of `item`.  I haven't tested the perf impact, but it is hopefully minimal.