Can structs contain fields of reference types? And if they can is this a bad practice?
Yes they can.
It depends.
Many hold the stance that a struct should be immutable, and in this case, holding a reference to an object could mean it isn't.
But it depends on the situation.