Let $w_o$ denote the weight of object $o$, and let $c_b$ denote the capacity of bin $b$.
You can interpret this as a job shop scheduling problem. The correspondence is that each object is a job, with duration $w_o$, each bin is a machine that is available for only $c_b$ time units, and $z$ is the makespan.
It is also a special case of the bottleneck generalized assignment problem where the costs depend only on the tasks (objects) and not the agents (bins).
You can solve the problem via mixed integer linear programming as follows. Let binary variable $x_{o,b}$ indicate whether object $o$ is assigned to bin $b$. The problem is to minimize $z$ subject to
\begin{align}
\sum_b x_{o,b} &= 1 &&\text{for all $o$} \tag1\\
\sum_o w_o x_{o,b} &\le c_b &&\text{for all $b$} \tag2\\
\sum_o w_o x_{o,b} &\le z &&\text{for all $b$} \tag3\\
\end{align}
Constraint $(1)$ assigns each object to exactly one bin.
Constraint $(2)$ enforces the bin capacity.
Constraint $(3)$ enforces the minimax objective.
Sparse formulation: introduce bin variable $y_b$ to represent the common LHS of $(1)$ and $(2)$, and minimize $z$ subject to
\begin{align}
\sum_b x_{o,b} &= 1 &&\text{for all $o$} \\
\sum_o w_o x_{o,b} &= y_b &&\text{for all $b$} \\
y_b &\le c_b &&\text{for all $b$} \\
y_b &\le z &&\text{for all $b$} \\
\end{align}
If many items have the same weight, you can exploit symmetry and reduce the problem size by letting $n_t$ be the number of objects of type $t$ (with weight $w_t$) and treating $x_{t,b}$ as an integer variable that represents the number of objects of type $t$ that are assigned to bin $b$. The problem is to minimize $z$ subject to
\begin{align}
\sum_b x_{t,b} &= n_t &&\text{for all $t$} \\
\sum_t w_t x_{t,b} &= y_b &&\text{for all $b$} \\
y_b &\le c_b &&\text{for all $b$} \\
y_b &\le z &&\text{for all $b$} \\
\end{align}