From what I remember, the instructions were that ISPs receive no less than /32, which should provide end-users either /48 or /56. End users use the remaining 8-16 bits to partition their networks in /64 subnets. /64 is the minimum routeable prefix, and is the prefix used for automatic configuration.
Linode offering /128 for free and /64 at a cost is ridiculous. Users will have problems to forward since that would require breaking the /64 into smaller networks (to have at least one distinct subnet at each end of the tunnel), which is not possible for radvd.
As a further datapoint, I have two systems with native ipv6, and each have a /64.
Then Linode expects you to pay more money for the privilege of doing that. They got paid per-https-site over IPv4, they want their cut on IPv6 too.
IPv6 subnets don't really get smaller than /64. The way the routing is configured, the first 64 bits are "network address" and the last 64 bits are the "interface address". One /64 subnet has 2^64 addresses, about 18.4 quintillion.