So you cant have deserialized in memory and in tachyon ?
Is this not expected by design, or an artifact of the StorageLevel's above ?

If you can, then there is implication on block status, etc (tryToReportBlockStatus for example).
Punting on reviewing that until this is clear ...