I saw this reply from Jon on Initialize generic object with unknown type:
If you want a single collection to contain multiple unrelated types of v
Do some benchmarking and you will know what performs best. I guestimate that the difference is very small.