We study BPS bound states of D0 and D2 branes on a single D6 brane wrapping a Calabi-Yau 3-fold X. When X has no compact 4-cyles, the BPS bound states are organized into a free field Fock space, whose generators correspond to BPS states of spinning M2 branes in M-theory compactified down to 5 dimensions by a Calabi-Yau 3-fold X. The generating function of the D-brane bound states is expressed as a reduction of the square of the topological string partition function, in all chambers of the Kahler moduli space.