Generating a word bigram co-occurrence matrix
A 106 × 106 matrix would contain 1012 entries.  Optimistically assuming one byte per entry, that would already be 1 TB.  I would expect that most of the matrix entries will be 0. Consider looking into sparse matrices.