Ok yes, then to make C Hermitian you have to think a bit differently about ITensors vs matrices. With ITensor we don't have the notion of a transpose. Instead we have primed indices. So a tensor that has indices like T_{i i'} is like a square matrix. Then to "transpose" it you do auto TT = swapPrime(T,0,1); which swaps the prime and unprimed indices.
So if you did: auto TS = 0.5*(T + swapPrime(T,0,1)); you will get a symmetrized version of T.
To get a Hermitian version, do: auto TH = 0.5*(T+dag(swapPrime(T,0,1)); where the "dag" also takes the conjugate of the indices and the tensor elements.
About the transfer matrix, I studied it once by writing an Arnoldi routine for iteratively getting the leading eigenvalues of a non-Hermitian matrix. You could use the ITensor davidson routine as an example of how to write a sparse iterative code using ITensor. I should have my old Arnoldi code lying around also. Maybe I should update it for ITensor v2 but it's not something I could do very soon.