You don't own the servers at Linode. Colocation is putting your server in someone's data center. This is good if you have a large number of custom servers, but don't want to manage the bandwidth, power, cooling etc... yourself.
This isn't to say that a VM might not be perfectly acceptable for parts of your operation. But realistically, at this time if you look at the way most of the compliance documents for data security are written; you cannot be compliant in a suppliers shared virtualized environment.