From the perspective of a Python program, being memory bandwidth bound is the same as being CPU bound: you have the GIL, your process is in the running state in the OS, and is currently executing on a core.
(I assume you mean truly mean bandwidth between main memory and the processor, and not to disk.)
(I assume you mean truly mean bandwidth between main memory and the processor, and not to disk.)