I’ve heard convincing “arguments”, both supported by bible verses, that we 1. go to heaven when we die and 2. sleep in the grave until the last days when we are called to Christ. If God exists outside of our concept of time (eternity), is it possible that both views are correct – our body sleeps in the grave until the last days, but our spirit goes directly to Christ in the last days (and the non-believer’s spirit goes directly to the judgment)?
Part of the confusion lies in the fact that Paul described the death of a believer as going to sleep. When he said we won’t all sleep, he just meant we won’t all die. In other words, some of us will be raptured. But if we die before the Rapture, our body goes to the grave where it soon decays to dust. Our spirit goes to be with the Lord where we await the resurrection (2 Cor. 5:6-8). When it comes we’ll get a new, perfect body that will never age, die, or decay. When Paul said that the dead in Christ will rise first (1 Thes. 4:16) he meant that the spirits of those who have died will be reunited with their new bodies, as if they’ve just come out of the grave.
The spirits of non believers who die are held in a place of torment until the end of the Millennium, when they’ll be resurrected to face their final judgment.