Where are coins held while receiving wallet is offline? I'm assuming they stay in the blockchain.
From another thread:
The way it works is confusing because the plumbing underneath is actually different from how it is presented.
Coins don't actually get held in a wallet. The blockchain is a transaction ledger, and every full node with a blockchain has a copy of it. The only thing in the wallet on your client essentially is the private keys that allow you to spend the funds for certain addresses.
Because people are familiar with the term wallet, since there is one in most back pockets and purses, that's what the clients try to emulate. So the Bitcoin clients use the same concept of receiving and sending money as you have with a physical wallet for cash, but that's simply not what happens.
When you send a payment, you are simply broadcasting your permission for value to be transferred from previously received transactions to new bitcoin addresses.
When you receive a payment, that is simply the client showing a filtered view of the blockchain ledger for a specific address.